新聞中心

為華容等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及華容網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、華容網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
類的概念與定義
在生活中,我們走在路邊,看到一輛車,大腦中首先想到的是“這是一輛車,然后才是這是一輛什么牌子的車”,在這里,我們就用到了編程中的類的概念。同樣的,看到一條小狗,也會先想到這是一條狗,然后會想到這是一條什么品種的狗。在編程中,把同一類的事物叫做類,把這個類里所共有的特征總結(jié)歸納并定義出來,就是類的屬性;把這個類能會做什么事,能做什么事總結(jié)歸納并定義出來就是類的技能。
舉個例子:
我想定義一個人的類,在python里面要怎么實現(xiàn)呢?
首先,我們會想到人都有什么共同的特征呢?人都有兩只眼睛,都有兩條腿,等等這些是每個人都有的自己的特征,
其次,每個人還都擁有自己的獨有特征,每個人的姓名都不是一樣的,每個人還都有自己的年齡,自己的性別,自己的學(xué)歷等等這些是每個人的獨有特征。
最后,人都有的技能還包括吃飯,睡覺,行走,學(xué)習(xí)等,這些是人都具有的技能。
那個現(xiàn)在我們這可以定義人的類,具體實現(xiàn)代碼如下:
class Person:
"""class是定義類的關(guān)鍵字,class后面的P erson是類的名字,python解釋器會把class這個關(guān)鍵字后面的名稱設(shè)定為類的名字,
類的名字默認首字母大寫。"""
#定義每個人都有兩個眼睛
eye=2
#定義每個人都有兩條腿
leg=2
def __init__(self,name,age,sex,education):
"""定義每個人的獨有的特征,此處定義每個人都有自己的姓名,年齡,性別和學(xué)歷"""
self.name=name
self.age=age
self.sex=sex
self.education=education
def eat(self):
#定義人都有的吃飯的技能
print("%s is eating food"%self.name)
def walk(self):
#定義人都有的行走的技能
print("%s is walking slow"%self.name)
def study(self):
#定義人都有的學(xué)習(xí)的技能
print("%s is studying hard"%self.name)
執(zhí)行上面的代碼,python解釋器會在內(nèi)存中開辟出一塊內(nèi)存空間,用來保存類中定義的人類的特征和技能。
在上面的代碼里,定義人類共有的特征時,相當于在人這個類的名稱空間中定義了兩個變量,定義人獨有的特征時,相當于是在人類的名稱空間里,聲明了一個名叫“初始化”的函數(shù),在函數(shù)中存放代表了每個人獨有的特征的變量。
而接下來的三個函數(shù)則用來表示每個人都會做的動作,python解釋器同樣會為這三個函數(shù)在存放人類的名稱空間的內(nèi)存中開辟三塊區(qū)域用來存放這三個函數(shù)(也可以稱之為人類共有的技能。
相關(guān)推薦:《Python視頻教程》
對象的概念與定義
在編程的世界里,定義出一個類之后,我們就可以用這個類生成一個個的人,這個過程我們也稱之為類的實例化,生成之后的人我們則稱之為對象。
現(xiàn)在我想用上面的程序?qū)嵗鰞蓚€人,要怎樣實現(xiàn)呢??
person1=Person("jack",22,"male","college")
person2=Person("lily",18,"female","middle school")
這樣我們就實例化出兩個人:
第一個人名字叫jack,22歲,性別為男,大學(xué)學(xué)歷,
第二個個名字叫l(wèi)ily,18歲,性別為女,中學(xué)學(xué)歷。
對象的使用
現(xiàn)在我們已經(jīng)創(chuàng)建出了兩個人,現(xiàn)在可以調(diào)用這兩個人的特征和技能了
比如,我想知道person1的特征,可以使用如下方法:
print(person1.name) #查看person1的名字,輸出為:jack print(person1.age) #查看person1的年齡,輸出為:22 print(person1.sex) #查看person1的性別,輸出為:male print(person1.education) #查看person1的學(xué)歷,輸出為:college
查看person1的技能時:
person1.walk() #調(diào)用person1的行走的技能 會打?。簀ack is walking slow person1.eat() #調(diào)用person1的吃飯的技能 會打印:jack is eating food person1.study() #調(diào)用person1的學(xué)習(xí)的技能 會打?。簀ack is studying hard
查看person2的特征和技能時使用同樣的方法
類與對象的對比分析
print(Person.eat,person1.eat,person2.eat)
執(zhí)行結(jié)果如下:
>
分別調(diào)用類的吃飯的方法,以及person1和person2的吃飯的方法,可以看到它們的內(nèi)存地址都不一樣,同樣的,調(diào)用他們的其他的走路和學(xué)習(xí)的方法,它們各自的內(nèi)存空間也都不一樣,這充分說明了它們在內(nèi)存中是各自開辟了一段自己的獨有的內(nèi)存空間。
當前標題:創(chuàng)新互聯(lián)Python教程:Python之初識類與對象
本文地址:http://www.5511xx.com/article/cdepdpi.html


咨詢
建站咨詢
