Python 類和對象
Python 類/對象
Python 是一種面向對象的編程語言。
Python 中的幾乎所有東西都是對象,擁有屬性和方法。
類(Class)類似對象構造函數,或者是用于創建對象的“藍圖”。
__init__() 函數
上面的例子是最簡單形式的類和對象,在實際應用程序中并不真正有用。
要理解類的含義,我們必須先了解內置的 __init__()
函數。
所有類都有一個名為 __init__() 的函數,它始終在啟動類時執行。
使用 __init__() 函數將值賦給對象屬性,或者在創建對象時需要執行的其他操作:
實例
創建名為 Person 的類,使用 __init__() 函數為 name 和 age 賦值:
class Person: def __init__(self, name, age): self.name = name self.age = age p1 = Person("Bill", 63) print(p1.name) print(p1.age)
注釋:每次使用類創建新對象時,都會自動調用 __init__() 函數。
對象方法
對象也可以包含方法。對象中的方法是屬于該對象的函數。
讓我們在 Person 類中創建方法:
實例
插入一個打印問候語的函數,并在 p1 對象上執行它:
class Person: def __init__(self, name, age): self.name = name self.age = age def myfunc(self): print("Hello my name is " + self.name) p1 = Person("Bill", 63) p1.myfunc()
提示:self 參數是對類的當前實例的引用,用于訪問屬于該類的變量。
self 參數
self
參數是對類的當前實例的引用,用于訪問屬于該類的變量。
它不必被命名為 self
,您可以隨意調用它,但它必須是類中任意函數的首個參數:
實例
使用單詞 mysillyobject 和 abc 代替 self:
class Person: def __init__(mysillyobject, name, age): mysillyobject.name = name mysillyobject.age = age def myfunc(abc): print("Hello my name is " + abc.name) p1 = Person("Bill", 63) p1.myfunc()