everything in python is object.
每個(gè)object都有一個(gè)type,換言之际起,每個(gè)object都是與之對應(yīng)的type的instance操软,而且每個(gè)type都有各自的method,比如 a= [1,2,3]就是type(int)的一個(gè)instance(實(shí)例), 1,2,3就是這個(gè)對象的內(nèi)部數(shù)據(jù)皱卓,a.append就是這個(gè)object的一個(gè)method伟葫。創(chuàng)建一個(gè)class就是創(chuàng)建一個(gè)新的type哺眯,如下面這段代碼
class Coordinate(object):
def __init__(self, x, y):
self.x = x
self.y = y
def __str__(self):
return “<”+self.x+”,”+self.y+”>”
def distance(self,other):
return math.sqrt(sq(self.x - other.x) + sq(self.y-other.y))
創(chuàng)建了一個(gè)名為Coordinate的class,若輸入下列代碼
'a = Coordinate(3, 4)'
那a就是這個(gè)class的instance扒俯,當(dāng)一個(gè)實(shí)例被創(chuàng)建出來時(shí)就自動調(diào)用init函數(shù)進(jìn)行初始化,即a是一個(gè)object一疯,這個(gè)object有:
- type: Coordinate
- attibutes
2.1 an internal date representation(這個(gè)例子中是x和y)
2.2 A set of procedures for interaction with the object(也就是上述所說的方法撼玄,即函數(shù)init, str和distance,實(shí)際上這些方法屬于類Coordinate)