日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

003---属性查找和绑定方法

發(fā)布時(shí)間:2024/4/15 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 003---属性查找和绑定方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

屬性查找與綁定方法

屬性查找

類有兩種屬性:數(shù)據(jù)屬性和函數(shù)屬性

class LuffyStudent:school = 'Luffy'def __init__(self, name, sex, age):self.name = nameself.sex = sexself.age = agedef learn(self, class_name):print('%s 正在學(xué)習(xí) %s' % (self.name, class_name))def eat(self):print('吃東西')def sleep(self):print('睡覺')s1 = LuffyStudent('王青', '女', 18) s2 = LuffyStudent('江子牙', '男', 21)
  • 類的數(shù)據(jù)屬性是共享的,在內(nèi)存中只存在一份。
# 類中的數(shù)據(jù)屬性是類屬性,是所有對(duì)象共有的,在內(nèi)存中只有一份 print(LuffyStudent.school,id(LuffyStudent.school)) # Luffy 2243589824616 print(s1.school,id(s1.school)) # Luffy 2243589824616 print(s2.school,id(s2.school)) # Luffy 2243589824616
  • 類的函數(shù)屬性是綁定給對(duì)象用的,綁定到對(duì)象的內(nèi)存地址都不一樣。
# 類中的函數(shù)屬性:是綁定給對(duì)象,綁定到不同對(duì)象 print(LuffyStudent,) print(s1.learn) # bound method LuffyStudent.learn of <__main__.LuffyStudent object at 0x000001CC059EED30 print(s2.learn) # bound method LuffyStudent.learn of <__main__.LuffyStudent object at 0x000001CC059EED68

綁定方法

定義類并實(shí)例化三個(gè)對(duì)象

class LuffyStudent:school = 'Luffy'def __init__(self, name, sex, age):self.name = nameself.sex = sexself.age = agedef learn(self, class_name):print('%s 正在學(xué)習(xí) %s' % (self.name, class_name))def eat(self):print('吃東西')def sleep(self):print('睡覺')s1 = LuffyStudent('王青', '女', 18)s2 = LuffyStudent('江子牙', '男', 21)s3 = LuffyStudent('江薏米', '女', 0)
  • 類中定義的方法(沒有加任何裝飾器的),類可以使用,但必須遵循函數(shù)的參數(shù)規(guī)則,有個(gè)參數(shù)self
# 類調(diào)用函數(shù) LuffyStudent.learn(s1,'Java') # 王 青 正在學(xué)習(xí) Java LuffyStudent.learn(s2,'Linux') # 江子牙 正在學(xué)習(xí) Linux
  • 其實(shí)這種方法并不是給類使用的,而是給對(duì)象用的,而且是綁定到對(duì)象的。雖然所有對(duì)象都指定一樣的方法,但是綁定到不同對(duì)象就是不同的綁定方法。
  • 特殊之處就是,綁定給誰,誰就來調(diào)用。就會(huì)將它自己作為第一個(gè)參數(shù)傳給綁定方法,即自動(dòng)傳值(init()也是一樣)
# 對(duì)象調(diào)用函數(shù):自動(dòng)把對(duì)象傳給self s3.learn('C++') # 江薏米 正在學(xué)習(xí) C++ s1.learn('Go') # 王 青 正在學(xué)習(xí) Go
  • 注意:這種自動(dòng)傳值的特征,決定了類中定義的函數(shù)都要默認(rèn)寫一個(gè)參數(shù)self,不是固定名字,至少約定成俗的寫出self。就像是一種規(guī)范

轉(zhuǎn)載于:https://www.cnblogs.com/xjmlove/p/10319098.html

總結(jié)

以上是生活随笔為你收集整理的003---属性查找和绑定方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。