6.2 類和類的定義
面向物件最重要的概念就是類(Class)和實體(Instance),必須牢記類是抽象的模板,比如學生類,而實體是根據類創建出來的一個個具體的物件,每個物件都擁有相同的方法,但各自的資料可能不同,
6.2.1 什么是類
當你在馬路上看到一輛飛馳的奧迪汽車時,這輛奧迪車就是汽車類的一個實體,汽車就是一個類,每輛車都是汽車類的一個實體,
可以將類理解為工廠制造汽車的設計圖,通過這個設計圖可以持續的造(實體化)不同的汽車,
類一般都具有屬性和方法,在汽車類中,屬性可以是汽車的車身顏色,方法可以是前進、剎車等,
人也是一種類,稱為人“類”,張三、李四、王五都是人“類”的實體化,類由屬性和方法組成,屬性是屬于類的變數,比如在人“類”中,屬性可以包括姓名、性別、年齡等,而方法是存盤在類中的函式(操作、動作),比如:吃飯、睡覺、走路等,
6.2.2 創建類
上面講了這么多,讓我們來在Python中創建一個最簡單的類吧,
最簡單的類
class MyClass1:
pass
上面是在Python中語法允許的情況下創建的一個最簡的類,在Python中創建類需要用到關鍵字class,然后是類名(注意:在Python中,一般使用駝峰命名法命名類名),接著就是:和換行后的pass陳述句,表示這個類啥也不干,
這樣我們就創建了一個名為MyClass1的類,上面的Python陳述句僅僅只是創建了這個類,就像之前用def創建一個函式一樣,只是定義了,函式要想要使用則需要進行呼叫,而類想要定義則需要初始化:
>>> mc = MyClass1()
像上面的陳述句就是進行了類的初始化,mc就是MyClass類的一個實體化物件,
接下來我們將一步步介紹創建類時,添加屬性和方法,一步步完善類,
6.2.3 實體化時傳遞引數
有時候在定義一個類時,我們可以直接定義類的屬性,然后在實體化時進行修改,就像這樣:
class Person:
def __init__(self):
self.name = None
self.age = None
lisa = Person()
lisa.name = 'lisa'
lisa.age = 20
上面的代碼中,我們在定義Person類時,同時也定義了2個屬性:name和age,并且初始化為None,
后面則可以通過類.屬性的方式訪問或修改類的屬性,
這種方法雖然可行,但是如果要創建多個實體化物件,每次都要再重新修改屬性name和age非常不方便,于是,我們可以在定義類的時候直接傳入引數,然后在類的初始化時同時為類的屬性賦值,
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
lisa = Person('lisa', 18)
print(lisa.name, lisa.age)
從自動化辦公到智能化辦公lisa 18
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/543609.html
標籤:其他
上一篇:5個python中編程的大坑
下一篇:"萬字" Java I/O 詳解
