python面向?qū)ο蠊P記2

#我們可以向?qū)ο笾刑砑幼兞?對象中的變量稱為屬性 對象.屬性名 = 屬性值

mc.name ='葫蘆娃'

hlw = mc.name

mc1.name ='鋼鐵俠'

gtx = mc1.name

print(hlw)

print(gtx)

#使用類創(chuàng)建對象的流程:1.創(chuàng)建變量mc,2.在內(nèi)存中創(chuàng)建一個新的對象

#類的定義:類和對象都是現(xiàn)實生活中內(nèi)容的抽象

#實際上所有的事物都是由2部分組成 第一部分是數(shù)據(jù)(屬性),第二部分是行為(方法)

#嘗試定義一個人

class Ren():

#在這個代碼塊中我們可以定義變量和行數(shù)

#在類中我們所定義的變量將會成為所有實例的公共屬性

#所有實例都會訪問這些變量

? ? a =10

? ? b =20

? ? name ='葫蘆娃'

? ? #在類中也可以定義函數(shù),類中定義的函數(shù)我們稱為方法,這些方法也可以通過該類的實例來訪問

? ? def say_hello(w):#w如果是p1調(diào)用,第一個參數(shù)就是p1對象,如果p2調(diào)用 ,就是p2對象,但一般我們都會把這個參數(shù)寫成self

? ? ? ? print('你好,我是%s'%w.name)#在類中方法不能直接訪問類中的屬性

? ? ? ? print(w)

p1 =Ren()

p2 = Ren()#創(chuàng)建Ren的實例

print(p1.a,p2.b)

print(p1.name)

print(p2.name)

#調(diào)用語法:對象.方法名 方法調(diào)用和函數(shù)調(diào)用的區(qū)別:如果函數(shù)調(diào)用函數(shù)有幾個形參則調(diào)用函數(shù)的時候就要傳遞幾個實參

#但如果是方法調(diào)用 默認(rèn)要傳遞一個參數(shù)所以方法中至少要調(diào)用一個形參

#注意 方法調(diào)用時第一個參數(shù)由解釋器自動傳遞 所以定義方法時 至少要定義一個形參

p1.say_hello()

p2.say_hello()

#屬性和方法

#實例為什么能訪問到類中的屬性和方法呢?

#類中定義的屬性和方法都是公共的,任何該類的實例都可以訪問

#屬性和方法的查找流程:當(dāng)我們調(diào)用一個對象的屬性時 解析器會先在當(dāng)前對象中尋找是否含有該屬性,有的話則返回當(dāng)前對象的屬性值

#沒有的話擇取他檔期對象的類對象中尋找,有返回當(dāng)前屬性如果沒有的話就會報錯

#修改p1的name屬性值

p1.name ='鋼鐵俠'

p2.name ='葫蘆娃'

print(p1.name)

print(p2.name)#類對象和實例對象都可以保存屬性和方法

#如果這個屬性(方法)是所有實例共享的,則應(yīng)該將其保存到類的對象中

#如果這個屬性(方法)是某個實例獨有的,則應(yīng)該保存到實例對象中

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容