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

Python中的類對象示例詳解

 更新時間:2021年03月29日 09:00:48   作者:大蝦昊  
這篇文章主要介紹了Python中類對象示例的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

抽象特點

Python 一切皆對象,基于此概念,對 類 class 有以下特點:

類與實例的屬性

類對象創(chuàng)建可選擇定義類屬性,創(chuàng)建實例對象時,實例屬性自動執(zhí)行類的__init__方法初始化

實例對象自動繼承相應(yīng)的類屬性(如果有),但實例屬性優(yōu)先級更高

實例方法,類方法,靜態(tài)方法的參數(shù)

實例方法是一般函數(shù)但實例方法需要傳入self參數(shù)(與一般函數(shù)的區(qū)別)

類方法和靜態(tài)方法是通過裝飾器實現(xiàn)的函數(shù),類方法需要傳入cls參數(shù),靜態(tài)方法無需傳入self參數(shù)或者是cls參數(shù)(但也能傳入?yún)?shù))

其中self參數(shù)必須指向?qū)嵗龑ο?,cls參數(shù)指向定義的類對象(self與cls是約定俗成的,原則上可以用其它名字)

方法與函數(shù)

其中方法是在對象語境下的函數(shù),實例調(diào)用實例方法即調(diào)用方法,類調(diào)用實例方法即調(diào)用函數(shù)

具體細(xì)節(jié)

類舉例

class Toy(object): # 此處此類可理解為設(shè)計一個Toy的藍(lán)圖
  # 賦值定義類屬性,記錄所有玩具數(shù)量
  count = 0

  def __init__(self, name): # 用于實例初始化
    self.name = name
    # 類屬性 +1
    Toy.count += 1

  @classmethod # 此裝飾器表示是類方法,類方法無需創(chuàng)建實例對象即可調(diào)用,最為靈活
  def show_toy_count(cls):
    print('玩具對象的數(shù)量 %d' % cls.count, cls)

  @staticmethod # 此裝飾器表示是靜態(tài)方法,靜態(tài)方法本質(zhì)上是封裝在類對象內(nèi)的的函數(shù),常用于測試
  def hi():
    print('Hello!')

  # 實例方法
  def beybey(self):
    print('Sad!', self)


# 創(chuàng)建實例對象
toy1 = Toy('樂高')
toy1.hand = 2
toy2 = Toy('泰迪熊')
toy3 = Toy('哥斯拉')
print(toy1.name, toy2.name, toy3.name)

# 點語法調(diào)用類方法與靜態(tài)方法,如:類名.方法
Toy.show_toy_count()
Toy.hi()
# 實例對象調(diào)用類方法時,與類對象調(diào)用類方法無異,但實際上調(diào)用仍通過實例對象繼承的類對象
toy1.show_toy_count()
print(toy1.hand)
# 實例對象調(diào)用靜態(tài)方法時,與類對象調(diào)用靜態(tài)方法無異,但實際上調(diào)用仍通過實例對象繼承的類對象
toy2.hi()
# 實例對象調(diào)用實例方法,Python的解釋器內(nèi)部,當(dāng)我們調(diào)用toy3.beybey()時,實際上Python解釋成Toy.beybey(toy3)
toy3.beybey()
# Toy.beybey() # 錯誤語法,self必須指向?qū)嵗龑ο螅颂帉嵗椒ㄖ赶蝾悓ο蠖皇菍嵗龑ο?
Toy.beybey(toy3)
# 類與其實例的類型和內(nèi)存地址
print(type(Toy), id(Toy), type(toy3), id(toy3))

輸出結(jié)果

樂高 泰迪熊 哥斯拉
玩具對象的數(shù)量 3 <class '__main__.Toy'>
Hello!
玩具對象的數(shù)量 3 <class '__main__.Toy'>
2
Hello!
Sad! <__main__.Toy object at 0x000001FD9F794D60>
Sad! <__main__.Toy object at 0x000001FD9F794D60>
<class 'type'> 2188806599664 <class '__main__.Toy'> 2188813880672

類方法與靜態(tài)方法舉例

class Cat: # 或者class Cat()不寫父對象形式定義類對象,會默認(rèn)繼承祖先object對象
  name = '小敏'

  @classmethod
  def www(cls):
    print('%s 干嘛!' % cls.name)
    # cls.call() # 類方法可以調(diào)用靜態(tài)方法

  @staticmethod
  def call():
    print('喵喵~')
    Cat.name = '小敏臭弟弟'
    print(Cat.name)
    # Cat.www() # 靜態(tài)方法可以調(diào)用類方法


Cat.www()
Cat.call()
# 沒有定義實例方法可以創(chuàng)建實例對象繼承并使用其中方法
cat1 = Cat()
cat1.www()
cat1.call()

輸出結(jié)果

小敏 干嘛!
喵喵~
小敏臭弟弟
小敏臭弟弟 干嘛!
喵喵~
小敏臭弟弟

祖先對象中包含的基本方法

print(dir(object))

['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']

總結(jié)

類 class 是 Python 中最核心的對象,定義類通常要寫好類屬性,實例方法,類方法,靜態(tài)方法等幾部份。把類和繼承的類的實例比作函數(shù)中的主函數(shù)和子函數(shù),那么類屬性可認(rèn)為是全局變量,實例屬性可認(rèn)為是局部變量;把類看成葫蘆,實例方法則是方便我們照畫瓢的同時,提供因地制宜的可能;類方式能夠使我們更高效的使用類的功能而靜態(tài)方法往往能幫助我們了解類的功能。

類 的各方法間并不是彼此毫不相干,而是有著很強的共性,具體使用時應(yīng)靈活運用,不應(yīng)局限在抽象的定義之中。

到此這篇關(guān)于Python中類對象的文章就介紹到這了,更多相關(guān)Python類對象內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python?中的裝飾器實現(xiàn)函數(shù)的緩存(場景分析)

    Python?中的裝飾器實現(xiàn)函數(shù)的緩存(場景分析)

    Python中的裝飾器可以用于實現(xiàn)函數(shù)的緩存,其原理是在函數(shù)執(zhí)行前,首先判斷傳入的參數(shù)是否在緩存中已經(jīng)存在對應(yīng)的計算結(jié)果,這篇文章主要介紹了Python?中的裝飾器可以用于實現(xiàn)函數(shù)的緩存,需要的朋友可以參考下
    2023-02-02
  • 使用go和python遞歸刪除.ds store文件的方法

    使用go和python遞歸刪除.ds store文件的方法

    使用python和go遞歸刪除.DS_Store文件,.DS_Store (英文全稱 Desktop Services Store)是一種由蘋果公司的Mac OS X操作系統(tǒng)所創(chuàng)造的隱藏文件,目的在于存貯文件夾的自定義屬性
    2014-01-01
  • Python求兩個圓的交點坐標(biāo)或三個圓的交點坐標(biāo)方法

    Python求兩個圓的交點坐標(biāo)或三個圓的交點坐標(biāo)方法

    今天小編就為大家分享一篇Python求兩個圓的交點坐標(biāo)或三個圓的交點坐標(biāo)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Python教程通過公共鍵對不同字典進行排序示例詳解

    Python教程通過公共鍵對不同字典進行排序示例詳解

    本篇文章是Python教程基礎(chǔ)篇,通過一些示例為大家講解Python通過公共鍵對不同字典進行排序的方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • python實現(xiàn)NB-IoT模塊遠(yuǎn)程控制

    python實現(xiàn)NB-IoT模塊遠(yuǎn)程控制

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)NB-IoT模塊遠(yuǎn)程控制,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • python函數(shù)指定默認(rèn)值的實例講解

    python函數(shù)指定默認(rèn)值的實例講解

    在本篇內(nèi)容里小編給大家整理了一篇關(guān)于python函數(shù)指定默認(rèn)值的實例講解內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)參考下。
    2021-03-03
  • python讀取json數(shù)據(jù)還原表格批量轉(zhuǎn)換成html

    python讀取json數(shù)據(jù)還原表格批量轉(zhuǎn)換成html

    這篇文章主要介紹了python讀取json數(shù)據(jù)還原表格批量轉(zhuǎn)換成html,由于需要對ocr識別系統(tǒng)的表格識別結(jié)果做驗證,通過返回的json文件結(jié)果對比比較麻煩,故需要將json文件里面的識別結(jié)果還原為表格做驗證,下面詳細(xì)內(nèi)容需要的小伙伴可以參考一下
    2022-03-03
  • Python技巧分享之groupby基礎(chǔ)用法詳解

    Python技巧分享之groupby基礎(chǔ)用法詳解

    python中g(shù)roupby函數(shù)主要的作用是進行數(shù)據(jù)的分組以及分組后地組內(nèi)運算!本文將通過一些示例和大家詳細(xì)講講groupby的基礎(chǔ)用法,需要的可以參考一下
    2022-10-10
  • Python操作列表之List.insert()方法的使用

    Python操作列表之List.insert()方法的使用

    這篇文章主要介紹了Python操作列表之List.insert()方法的使用,是Python入門中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • Pycharm 使用 Pipenv 新建的虛擬環(huán)境(圖文詳解)

    Pycharm 使用 Pipenv 新建的虛擬環(huán)境(圖文詳解)

    pipenv 是 Pipfile 主要倡導(dǎo)者、requests 作者 Kenneth Reitz 寫的一個命令行工具,主要包含了Pipfile、pip、click、requests和virtualenv。這篇文章主要介紹了Pycharm 使用 Pipenv 新建的虛擬環(huán)境的問題,需要的朋友可以參考下
    2020-04-04

最新評論

玉环县| 南岸区| 福海县| 富阳市| 兴海县| 宝清县| 平原县| 罗田县| 颍上县| 穆棱市| 如皋市| 江城| 日土县| 资中县| 耒阳市| 克什克腾旗| 额尔古纳市| 荃湾区| 惠来县| 榆社县| 宜兰市| 襄城县| 巴里| 韶山市| 满城县| 西林县| 沿河| 德兴市| 雅江县| 论坛| 沐川县| 麦盖提县| 婺源县| 高要市| 乌什县| 建平县| 宣恩县| 晋宁县| 新竹市| 视频| 大石桥市|