用來描述具有相同的屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。
類
類定義格式如下:
class <類名>:
類體
類中除了定義函數,還可以包含其他語句。一個類中的函數定義通常有一個特殊的參數列表形式,以在類外調用這個函數。
類對象
類支持兩種操作:屬性引用和實例化。
屬性引用
調用類的屬性:obj.name,name是類中定義的變量或函數的名字(區分大小寫)。
示例:
class MyClass:
i=123
def f(self):
print("xianyu")
上面示例中MyClass.i和MyClass.f是有效的屬性引用,分別引用一個整數和一個函數。
類實例化
示例:
x = MyClass()
上面的示例,創建該類的新實例並將對象分配給本地變量x。
一個類可以定義一個名爲init()的特殊方法。
示例:
def __init__(self, data):
self.data=23
當一個類定義了一個init()方法時,類會自動調用init()新創建的類實例。可以通過x=MyClass()的方式獲得。在這種情況下,賦予類實例化的參數被傳遞給init()。
示例:
>>> class ComplexClass:
... def __init__(self, r, i):
... self.r = r
... self.i = i
... print(self.r + self.i)
...
...
...
>>> x = ComplexClass(3, 6)
9
>>> x.r, x.i
(3, 6)
實例對象
示例:
>>> class Complex:
... def __init__(self, r, i):
... self.r = r
... self.i = i
... print(self.r + self.i)
...
...
...
>>> x = Complex(3,8)
11
>>> x.complex = 1
>>> while x.complex<10:
... print("hi",x.complex)
... x.complex = x.complex*2
...
...
...
hi 1
hi 2
hi 4
hi 8
>>> print(x.complex)
>>> del x.counter
16