新聞中心

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


咨詢
建站咨詢
