您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python的類是什么”,在日常操作中,相信很多人在Python的類是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python的類是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
高級語言都有面對對象,Python也不例外,比起c++,java這些傳統的語言,Python中的面對對象去掉了很多復雜的東西,理解和使用起來更簡單一些。
一般來說面對對象包含:數據封裝、繼承和多態這三大特點。
1.類和類的實例
類其實是一種數據結構,我們可以用它來定義對象,一個類會包含屬性和行為特性.類是現實世界抽象的實體以編程形式出現。
python中類的聲明用class關鍵字來命名。
python類分為兩種:經典類(舊類),新式類.新式類主要是從Python2.2以后開始引入的,目前主要以用新式類為主(Python 3.x中默認都是新式類)。
也許同學會問為啥有新式類的出現(主要的差別在于類內置屬性,多重繼承的搜索順序和父類初始化)。
類的對象實例聲明很簡單,實現實例化的方法,就是像調用函數一樣地調用一個類。
2.類的初始化
類的初始化函數是用__init__來完成的,也許有的同學有c++,java基礎的,覺得它和構造函數很像。
確實很像,注意注意注意__init__()不是類的構造函數,只是用來做初始化的。
這個特殊名字的__init__()方法,用于創建類的實例,Python調用這個特殊的方法,并使用傳入的參數( 除了self,你不用顯式傳遞這個參數,Python自動提供)來初始化一個新建的實例。
今天這篇只是揭露類的表層,等后面慢慢熟悉了之后,深入揭露類的本質的時候,我會告訴大家為什么它不是構造函數,只是初始化函數。
1).當Dog類聲明一個dog_obj對象實例的時候,Python會自動去檢查時候實現了__init__()方法,做一些實例對象的初始化工作。
2).有細心的小伙伴會問為啥這個__init__()函數長的這么奇怪,要有雙下劃線開頭,哇你會搶答了,這個在Python中有特殊的含義.用來一些命名約定來進行訪問控制。
3).又有同學會問self是啥,這個參數是Python特有的,當__init__()被調用的時候,實例對象作為第一個參數被傳遞了進去,相同于java里面的this.也就是說self其實就是類的對象地址。
3.類的刪除
類既然有初始化,就一定有刪除,有進就有出,python里面用一個__del__()來負責清理類的對象。
當這個對象沒有人用了就會被清理掉.有同學會問~~我怎么知道什么時候對象沒有人用了,聰明Python用引用計數的方法來追蹤。
引用一次加1,當引用計數為0的時候,python內置了一個垃圾對象回收機制,一旦計數為0就清理對象就會去調用類里面的__del__()方法.是不是很智能,其實java也內置了這樣的功能。
4.類的屬性
類里面定義。
類的初始化函數里面定義。
先來說說類里面定義,有一個Student類,里面有name和age屬性。
class Student(object):
name='wang'
age=10
name,age都是Student類的屬性,所以Student的對象實例都共享name,age
換句話說你的s1,s2兩個對象里面的name,age都是一樣的,不信你看:
再來看看對象的屬性,都是在__init__()函數里面聲明的,也就是self.name ,self.age都是對象的屬性。
5.類中的方法
類中的方法有是哪個:實例方法;類的方法;類的靜態函數。
到此,關于“Python的類是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。