class 特別方法 鬚鬚好長
class 可以定義方法,其中有幾個方法是特別的:
下面幾個方法大都是__xxx__()方式命名,注意底線是個兩個字元,所以不是_xxx_()。
__init__()是初始化類別的方法,這個方法會在建立實例之後被呼叫
>>> class Pen: ... def __init__(self): ... print("a pen") ... >>> p = Pen() "a Pen" >>>
__init__()方法可以額外加入參數當作物件初始化時加入的參數
>>> class Building: ... def __init__(self,floor): ... self.floor = floor ... def high(self): ... print("High " + str(self.floor * 3) + " meter") ... >>> b = Building(10) >>> b.high() "High 30 meter"
__str__()方法是當用在表示的時候(如print()方法)會顯示的內容
>>> class Language: ... def __init__(self, name): ... self.name = name ... def __str__(self): ... return "This language is " + self.name ... >>> h = Language("Hymmnos") >>> print(h) "This language is Hymmnos"