Python 是一種面向對象的編程語言。在 Python 中,幾乎所有東西都是對象,都具有其屬性和方法。 類似於對象構造函數或用於創建對象的“藍圖”的類。 創建一個類 要創建一個類,請使用關鍵字 class: 示例,創建一個名為 MyClass 的類,其中包含一個名為 x 的屬性: class My ...
Python 是一種面向對象的編程語言。在 Python 中,幾乎所有東西都是對象,都具有其屬性和方法。
類似於對象構造函數或用於創建對象的“藍圖”的類。
創建一個類
要創建一個類,請使用關鍵字 class:
示例,創建一個名為 MyClass 的類,其中包含一個名為 x 的屬性:
class MyClass:
x = 5
創建對象
現在,我們可以使用名為 MyClass 的類來創建對象:
示例,創建一個名為 p1 的對象,並列印 x 的值:
p1 = MyClass()
print(p1.x)
init() 函數
上面的示例是最簡單形式的類和對象,不太適用於實際應用程式。要理解類的含義,我們必須瞭解內置的 init() 函數。所有類都有一個名為 init() 的函數,該函數在初始化類時始終執行。使用 init() 函數來為對象屬性分配值,或者在創建對象時需要執行的其他操作:
示例,創建一個名為 Person 的類,使用 init() 函數為 name 和 age 分配值:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("John", 36)
print(p1.name)
print(p1.age)
註意: 每次使用類創建新對象時,init() 函數都會自動調用。
str() 函數
str() 函數控制當類對象表示為字元串時應返回什麼。如果未設置 str() 函數,則返回對象的字元串表示:
示例,沒有 str() 函數的對象的字元串表示:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("John", 36)
print(p1)
示例,帶有 str() 函數的對象的字元串表示:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"{self.name}({self.age})"
p1 = Person("John", 36)
print(p1)
對象方法
對象也可以包含方法。對象中的方法是屬於對象的函數。讓我們在 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("John", 36)
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("John", 36)
p1.myfunc()
修改對象屬性
您可以像這樣修改對象的屬性:
示例,將 p1 的年齡設置為 40:
p1.age = 40
刪除對象屬性
您可以使用 del 關鍵字來刪除對象的屬性:
示例,從 p1 對象中刪除 age 屬性:
del p1.age
刪除對象
您可以使用 del 關鍵字來刪除對象:
示例,刪除 p1 對象:
del p1
pass 語句
類定義不能空,但如果由於某種原因類定義沒有內容,請插入 pass 語句以避免出錯。
示例
class Person:
pass
最後
為了方便其他設備和平臺的小伙伴觀看往期文章:公眾號搜索Let us Coding
,或者掃描下方二維碼,關註公眾號,即可獲取最新文章。
看完如果覺得有幫助,歡迎點贊、收藏和關註