欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 類詳解及簡單實例

 更新時間:2017年03月24日 15:05:04   作者:root貴族  
這篇文章主要介紹了python 類詳解及實例的相關(guān)資料,需要的朋友可以參考下

python 類詳解

1.類是一種數(shù)據(jù)結(jié)構(gòu),可用于創(chuàng)建實例。(一般情況下,類封裝了數(shù)據(jù)和可用于該數(shù)據(jù)的方法)

2.Python類是可調(diào)用的對象,即類對象

3.類通常在模塊的頂層進行定義,以便類實例能夠在類所定義的源代碼文件中的任何地方被創(chuàng)建。

4.實例初始化

  1. instance = ClassName(args....)
  2. 類在實例化時可以使用__init__和__del__兩個特殊的方法。
 class ClassName(base):

'class documentation string' #類文檔字符串
 class suite        #類體

  1. base:超類是一個或多個用于繼承的父類集合
  2. 類體可以包括:聲明語句、類成員定義、數(shù)據(jù)屬性、方法
  3. 如果類不存在繼承關(guān)系,就不提供括號里的base
 class FirstClass():
  spam = 30    #類數(shù)據(jù)屬性
  def display(self): #類方法
   print self.spam

 x = FirstClass()   #創(chuàng)建類實例
 x.display()     #方法調(diào)用
 >>> 30
 dir(FirstClass)
 >>> ['__doc__', '__module__', 'display', 'spam']

  • class語句類似def,是可執(zhí)行代碼;直到運行class語句后,類才會創(chuàng)建
  • class語句內(nèi),任何賦值語句都會創(chuàng)建類屬性
  • 每個實例對象都會繼承類的屬性并獲得自己的名稱空間

Python類方法及調(diào)用

實例(對象)包含的屬性

  • 可調(diào)用的屬性:方法
  • 數(shù)據(jù)屬性

在OOP中,實例就像是帶有“數(shù)據(jù)”的記錄,而類是處理這些記錄的“程序”

  • 通過實例調(diào)用方法相當于調(diào)用所屬類的方法來處理當前實例。 比如之前的代碼例子,x.display() 會被自動轉(zhuǎn)換為 FirstClass.display(x),即調(diào)用類的方法來處理實例x
  • 因此,類中每個方法必須有self參數(shù),它隱含當前實例之意
  • 在方法內(nèi)對self屬性做賦值運算會產(chǎn)生每個實例自己的屬性
  • Python規(guī)定,沒有實例,方法不允許被調(diào)用,這是‘綁定'(binding)的概念
  • class語句中的賦值語句會創(chuàng)建類屬性,如前面例子的spam
  • 在類方法中對傳給方法的特殊參數(shù)self進行賦值會創(chuàng)建實例屬性

Python構(gòu)造器

創(chuàng)建實例時,Python會自動調(diào)用類中的__init__方法,以隱形的為實例提供屬性

  1. __init__方法被稱為構(gòu)造器
  2. 如果類中沒有定義__init__方法,實例創(chuàng)建之初僅僅是一個簡單的名稱空間。
  3. __init__的第一個參數(shù)一定是self ,self 變量用于在類實例方法中引用方法所綁定的實例。因為方法的實例在任何方法調(diào)用中總是作為第一個參數(shù)傳遞的,self 被選中用來代表實例。你必須在方法聲明中放上 self,但可以在方法中不使用實例(self)。如果你的方法中沒有用到 self , 那么請考慮創(chuàng)建一個常規(guī)函數(shù),除非你有特別的原因。畢竟,你的方法代碼沒有使用實例,沒有與類關(guān)聯(lián)其功能,這使得它看起來更像一個常規(guī)函數(shù)。在其它面向?qū)ο笳Z言中,self 可能被稱為 this。
  • __init__不能返回任何對象
  • 析構(gòu)函數(shù):__del__
  • 構(gòu)造函數(shù)是必要的,而析構(gòu)函數(shù)常??梢圆豢紤](Python解釋器會自己回收)
class MyClass():
 def __init__(self, name):
  self.name = name
  print 'My name is ' + self.name
 def __del__(self):
  print self.name + ' is dead.'

i1 = MyClass('Shaw')
>>> My name is Shaw
del i1
>>> Shaw id dead.

類的特殊屬性

  • 使用dir()或__dict__,查看類或?qū)嵗膶傩?/li>
  • __doc__:獲取文檔字符串
  • __base__:獲取所有父類
  • __module__:類所在的模塊
  • __name__:實例所屬類的名字

Python類方法中可用的變量

  • 實例變量:self.變量名
  • 局部變量:方法內(nèi)部創(chuàng)建的變量,可直接使用
  • 靜態(tài)變量:類中定義的變量。類名.變量名
  • 全局變量:直接使用

繼承

繼承描述了基類的屬性如何‘遺傳'給派生類

  1. 子類可以繼承他的基類的任何屬性,包括數(shù)據(jù)屬性和方法
  2. 一個未指定基類的類,其默認有一個叫object的基類
  3. Python允許多重繼承(可以繼承多個父類)

 感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • 用pandas中的DataFrame時選取行或列的方法

    用pandas中的DataFrame時選取行或列的方法

    今天小編就為大家分享一篇用pandas中的DataFrame時選取行或列的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • python pyheatmap包繪制熱力圖

    python pyheatmap包繪制熱力圖

    這篇文章主要為大家詳細介紹了python pyheatmap包繪制熱力圖,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Python爬蟲抓取代理IP并檢驗可用性的實例

    Python爬蟲抓取代理IP并檢驗可用性的實例

    今天小編就為大家分享一篇Python爬蟲抓取代理IP并檢驗可用性的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python使用pyinstaller打包spec文件的方法詳解

    Python使用pyinstaller打包spec文件的方法詳解

    PyInstaller是一個用于將Python腳本打包成獨立的可執(zhí)行文件的工具,使用PyInstaller您可以將Python應(yīng)用程序轉(zhuǎn)換為可執(zhí)行文件,而無需用戶安裝Python解釋器或任何額外的庫,這篇文章主要給大家介紹了關(guān)于Python使用pyinstaller打包spec文件的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • K近鄰法(KNN)相關(guān)知識總結(jié)以及如何用python實現(xiàn)

    K近鄰法(KNN)相關(guān)知識總結(jié)以及如何用python實現(xiàn)

    這篇文章主要介紹了K近鄰法(KNN)相關(guān)知識總結(jié)以及如何用python實現(xiàn),幫助大家更好的利用python實現(xiàn)機器學習,感興趣的朋友可以了解下
    2021-01-01
  • Python中的變量及簡單數(shù)據(jù)類型應(yīng)用

    Python中的變量及簡單數(shù)據(jù)類型應(yīng)用

    這篇文章主要介紹了Python中的變量及簡單數(shù)據(jù)類型應(yīng)用,簡單的數(shù)據(jù)類型包括字符串和數(shù)字,更多詳細內(nèi)容,需要的小伙伴可以參考一下
    2022-03-03
  • Python中使用PyHook監(jiān)聽鼠標和鍵盤事件實例

    Python中使用PyHook監(jiān)聽鼠標和鍵盤事件實例

    這篇文章主要介紹了Python中使用PyHook監(jiān)聽鼠標和鍵盤事件實例,這個庫依賴于另一個Python庫PyWin32,并且只能運行在Windows平臺,需要的朋友可以參考下
    2014-07-07
  • python 讀取豎線分隔符的文本方法

    python 讀取豎線分隔符的文本方法

    今天小編就為大家分享一篇python 讀取豎線分隔符的文本方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 深入理解Python中各種方法的運作原理

    深入理解Python中各種方法的運作原理

    這篇文章主要介紹了深入理解Python中各種方法的運作原理,包括抽象方法和靜態(tài)方法和類方法等之間異同的比較,需要的朋友可以參考下
    2015-06-06
  • 用python打開攝像頭并把圖像傳回qq郵箱(Pyinstaller打包)

    用python打開攝像頭并把圖像傳回qq郵箱(Pyinstaller打包)

    這篇文章主要介紹了用python打開攝像頭并把圖像傳回qq郵箱,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05

最新評論