最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 類詳解及簡(jiǎn)單實(shí)例

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

python 類詳解

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

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

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

4.實(shí)例初始化

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

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

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

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

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

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

實(shí)例(對(duì)象)包含的屬性

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

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

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

Python構(gòu)造器

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

  1. __init__方法被稱為構(gòu)造器
  2. 如果類中沒(méi)有定義__init__方法,實(shí)例創(chuàng)建之初僅僅是一個(gè)簡(jiǎn)單的名稱空間。
  3. __init__的第一個(gè)參數(shù)一定是self ,self 變量用于在類實(shí)例方法中引用方法所綁定的實(shí)例。因?yàn)榉椒ǖ膶?shí)例在任何方法調(diào)用中總是作為第一個(gè)參數(shù)傳遞的,self 被選中用來(lái)代表實(shí)例。你必須在方法聲明中放上 self,但可以在方法中不使用實(shí)例(self)。如果你的方法中沒(méi)有用到 self , 那么請(qǐng)考慮創(chuàng)建一個(gè)常規(guī)函數(shù),除非你有特別的原因。畢竟,你的方法代碼沒(méi)有使用實(shí)例,沒(méi)有與類關(guān)聯(lián)其功能,這使得它看起來(lái)更像一個(gè)常規(guī)函數(shù)。在其它面向?qū)ο笳Z(yǔ)言中,self 可能被稱為 this。
  • __init__不能返回任何對(duì)象
  • 析構(gòu)函數(shù):__del__
  • 構(gòu)造函數(shù)是必要的,而析構(gòu)函數(shù)常??梢圆豢紤](Python解釋器會(huì)自己回收)
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__:實(shí)例所屬類的名字

Python類方法中可用的變量

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

繼承

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

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

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

相關(guān)文章

  • Python 程序員必須掌握的日志記錄

    Python 程序員必須掌握的日志記錄

    這篇文章主要介紹了Python 日志的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-08-08
  • python3中zip()函數(shù)使用詳解

    python3中zip()函數(shù)使用詳解

    zip函數(shù)接受任意多個(gè)可迭代對(duì)象作為參數(shù),將對(duì)象中對(duì)應(yīng)的元素打包成一個(gè)tuple,然后返回一個(gè)可迭代的zip對(duì)象.這個(gè)可迭代對(duì)象可以使用循環(huán)的方式列出其元素,若多個(gè)可迭代對(duì)象的長(zhǎng)度不一致,則所返回的列表與長(zhǎng)度最短的可迭代對(duì)象相同.
    2018-06-06
  • Python decorator攔截器代碼實(shí)例解析

    Python decorator攔截器代碼實(shí)例解析

    這篇文章主要介紹了Python decorator攔截器代碼實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • python pydoc生成API文檔的實(shí)現(xiàn)

    python pydoc生成API文檔的實(shí)現(xiàn)

    pydoc?模塊會(huì)根據(jù) Python 模塊來(lái)自動(dòng)生成文檔,本文主要介紹了python pydoc生成API文檔的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • python中BackgroundScheduler和BlockingScheduler的區(qū)別

    python中BackgroundScheduler和BlockingScheduler的區(qū)別

    這篇文章主要介紹了python中BackgroundScheduler和BlockingScheduler的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • 利用python的socket發(fā)送http(s)請(qǐng)求方法示例

    利用python的socket發(fā)送http(s)請(qǐng)求方法示例

    這篇文章主要給大家介紹了關(guān)于利用python的socket發(fā)送http(s)請(qǐng)求的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧
    2018-05-05
  • 利用python計(jì)算時(shí)間差(返回天數(shù))

    利用python計(jì)算時(shí)間差(返回天數(shù))

    這篇文章主要給大家介紹了關(guān)于如何利用python計(jì)算時(shí)間差(返回天數(shù))的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Python入門之字典的使用教程

    Python入門之字典的使用教程

    Python字典是一種可變?nèi)萜髂P?,且可存?chǔ)任意類型對(duì)象,如字符串、數(shù)字、元組等其他容器模型。本文將為大家詳細(xì)講講字典的使用教程,需要的可以參考一下
    2022-09-09
  • pyqt5 QListWidget的用法解析

    pyqt5 QListWidget的用法解析

    這篇文章主要介紹了pyqt5 QListWidget的用法解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • 基于Python開發(fā)PPT圖片提取與合并工具

    基于Python開發(fā)PPT圖片提取與合并工具

    在日常工作中,我們經(jīng)常需要處理PPT中的圖片,本文將介紹如何使用Python開發(fā)一個(gè)圖形界面工具,實(shí)現(xiàn)PPT圖片提取和九宮格合并功能,需要的可以參考下
    2024-12-12

最新評(píng)論

新田县| 寿光市| 米林县| 扶沟县| 芮城县| 荥经县| 海林市| 浮山县| 宁晋县| 于田县| 深州市| 鹿泉市| 永寿县| 海口市| 自贡市| 邯郸县| 盘锦市| 嘉兴市| 密云县| 内丘县| 大同县| 宿州市| 西昌市| 绥棱县| 太湖县| 广安市| 牟定县| 资源县| 新平| 万山特区| 合山市| 黄骅市| 常宁市| 泗阳县| 镇平县| 扎赉特旗| 雷波县| 唐山市| 泗阳县| 固原市| 巧家县|