您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python面向對象的類和對象怎么使用”,在日常操作中,相信很多人在Python面向對象的類和對象怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python面向對象的類和對象怎么使用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
所有類名首字母要求大寫,多個單詞時遵循駝峰命名法
所有未定義父類的類都繼承object
格式:class 類名[(父類)]:
#兩種方式意思相同 class Person: pass class Person(object): pass
name、age、subject就是類屬性
class Student: #類屬性 name = '' age = 0 subject = []
格式: def 方法名(self[,parm1,parm2...]): pass
self就是對象本身
class Student: # 類屬性 name = 'student' age = 0 subject = [] # 普通方法 def study(self): print(self.name, '正在學習...') xiaoming = Student() xiaoming.name = 'xiaoming' xiaoming.study()
------------
輸出:
xiaoming 正在學習...
class Student: # 類屬性 name = 'student' age = 0 subject = [] # 普通方法 def study(self, name): print(name, '正在學習...') s1 = Student() s1.study('xiaohong')
----------------
輸出:
xiaohong 正在學習...
格式: @classmethod def 方法名(cls): pass
類方法使用@classmethod裝飾器
對象方法傳入的是self,類方法傳入的是cls
類方法可以直接用類調(diào)用,或者可以用類的實例(對象)調(diào)用
class Dog: dog_type = '阿拉斯加' def __init__(self, nickname): self.name = nickname def dog_run(self): print('{}在公園里跑.看起來是一只{}.'.format(self.name, self.dog_type)) @classmethod def dog_sit(cls): print(cls.dog_type, '很乖,坐下了') dog1 = Dog('肉丸') dog1.dog_type = '小泰迪' dog1.dog_run() Dog.dog_sit()
--------------
輸出:
肉丸在公園里跑.看起來是一只小泰迪.
阿拉斯加 很乖,坐下了
靜態(tài)方法使用裝飾器@staticmethod
靜態(tài)方法沒有參數(shù)
當方法跟類屬性和對象屬性都沒有關系的時候,使用靜態(tài)方法
支持對象和類名直接調(diào)用
class Dog: def __init__(self, nickname): self.name = nickname @staticmethod def dog_sit(): print('很乖,坐下了') dog1 = Dog('肉丸') dog1.dog_sit() Dog.dog_sit() ---------------------
輸出:
很乖,坐下了
很乖,坐下了
格式: def __方法名__(self): pass
__init__() 構造函數(shù)
如果沒有__init__。直接利用類向內(nèi)存申請一個和類一樣的空間,給到對象。
如果有__init__。利用類向內(nèi)存申請一個和類一樣空間,內(nèi)存空間(self)傳遞給__iniy__,執(zhí)行__init__的函數(shù)。最后將內(nèi)存空間給到對象。
格式:對象名 = 類名()
class Student: #類屬性 name = '' age = 0 subject = [] xiaoming = Student()
當創(chuàng)建了對象時,對象會繼承類的屬性。獲取屬性的時候,也是從類中獲取屬性。
當對默認的類屬性賦值后(對象名.屬性 = xxxx),屬性才會變成對象屬性。
class Student: # 類屬性 name = 'student' age = 0 subject = [] xiaoming = Student() print('類屬性:', xiaoming.name) # 此時是從類中獲取的類屬性 xiaoming.name = 'xiaoming' # 因為賦值了,此時變成了對象屬性 print('對象屬性:', xiaoming.name) -------------
輸出:
類屬性: student
對象屬性: xiaoming
到此,關于“Python面向對象的類和對象怎么使用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。