python 是一種物件導向的程式語言。
python 中的幾乎所有東西都是物件,擁有屬性和方法。
類(class)類似物件建構函式,或者是用於建立物件的「藍圖」。
如需建立類,請使用 class 關鍵字:
使用名為 x 的屬性,建立乙個名為 myclass 的類:
class myclass:x = 5
現在我們可以使用名為 myclass 的類來建立物件:
建立乙個名為 p1 的物件,並列印 x 的值:
p1 = myclass()print(p1.x)
上面的例子是最簡單形式的類和物件,在實際應用程式中並不真正有用。
要理解類的含義,我們必須先了解內建的 __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,您可以隨意呼叫它,但它必須是類中任意函式的首個引數:
使用單詞 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()
您可以這樣修改物件的屬性:
把 p1 的年齡設定為 40:
p1.age = 40
您可以使用 del 關鍵字刪除物件的屬性:
刪除 p1 物件的 age 屬性:
del p1.age
使用 del 關鍵字刪除物件:
刪除 p1 物件:
del p1
類定義不能為空,但是如果您處於某種原因寫了無內容的類定義語句,請使用 pass 語句來避免錯誤。
class person:pass
python學習 物件導向程式設計
物件導向程式設計 object oriented programming,簡稱oop,是一種程式設計思想。oop把物件作為程式的基本單元,乙個物件包含了資料和運算元據的函式。面向過程的程式設計把電腦程式視為一系列的命令集合,即一組函式的順序執行。為了簡化程式設計,面向過程把函式繼續切分為子函式,即把...
Python學習 物件導向程式設計
物件導向 現實 具體的事物 程式 物件 物件導向涉及的 類物件 屬性方法 物件 例如 小明的手機 小紅的手機 小綠的手機 以上是物件的集合,某某某的手機就是具體的事物,在程式中就是物件。從物件中提取共同的特徵或者特點,作為乙個類別屬性。類別 手機類。電腦類學生類 等等共同的特徵 品牌 顏色 共同的動...
Python學習9 物件導向程式設計
廖雪峰的部落格 在物件導向程式設計中需要考慮 物件 屬性 方法,例項化。物件導向程式設計具有三大特點 資料封裝 繼承和多型 舉例 列印學生成績。處理學生的成績表,如果採用物件導向的程式設計思想,我們首選思考的不是程式的執行流程,而是student這種資料型別應該被視為乙個物件,這個物件擁有name和...