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

關(guān)于對(duì)python中self的深入理解

 更新時(shí)間:2022年09月15日 12:36:41   作者:綠蘿12345  
self代表類的實(shí)例,而非類,下面這篇文章主要給大家介紹了關(guān)于對(duì)python中self的深入理解,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

假設(shè)有一個(gè)類nameMain(), 如最下面代碼

  • 類 : 一個(gè)抽象的模板??梢岳斫鉃槌橄笤O(shè)計(jì)圖
  • 類名:類的名字。
    查看/實(shí)現(xiàn)方式 :print(nameMain)或者print(self.class)
  • 類的實(shí)例:即類創(chuàng)建的對(duì)象,類每創(chuàng)建一個(gè)實(shí)例就開辟新的內(nèi)存地址指向這個(gè)創(chuàng)建的實(shí)例。抽象設(shè)計(jì)圖具體實(shí)現(xiàn)的東西
    查看/實(shí)現(xiàn)方式 : a=nameMain(帶參/無參)
  • self : 表示類創(chuàng)建的實(shí)例/對(duì)象本身,指向當(dāng)前創(chuàng)建對(duì)象的內(nèi)存地址。在__init__魔方方法中創(chuàng)建

類可以創(chuàng)建很多不同的實(shí)例,這些實(shí)例又有自己特定的特征,如何很好的調(diào)用和匹配好 所創(chuàng)建的實(shí)例對(duì)象 及其特征 就需要self。

理解:

例如 :類中創(chuàng)建了對(duì)象a和對(duì)象b, self對(duì)象就是a和b對(duì)象的抽象的統(tǒng)稱,關(guān)于對(duì)象a和對(duì)象b的特征,可以用self來調(diào)用,當(dāng)self指向a時(shí)就指向a的內(nèi)存地址,可以調(diào)用a的特征;同理self指向?qū)ο骲就指向b的內(nèi)存地址,就可以調(diào)用b的特征。

比如 : 可以把 對(duì)象a 和 對(duì)象b 理解成 客戶a 和 客戶b, 類理解為某個(gè)房子。這時(shí)候客戶a和客戶b都買了同一個(gè)設(shè)計(jì)圖出的房子,但是他們想要自己的裝修風(fēng)格,這些裝修風(fēng)格就是對(duì)象a、對(duì)象b的特征。當(dāng)裝修隊(duì)開始裝修房子時(shí),先選擇具體客戶,然后根據(jù)客戶要求裝修;而先服務(wù)哪個(gè)客戶呢?客戶就選擇self客戶管理工具指向的現(xiàn)在的客戶,同時(shí)self還可以調(diào)用對(duì)象的特征,這時(shí)候根據(jù)self指示的客戶和self調(diào)用客戶要求的裝修風(fēng)格來裝修房子。

  • 客戶a=類的對(duì)象a;
  • (客戶要求的)裝修風(fēng)格=對(duì)象a/b的特征;
  • 房型=類 裝修隊(duì)=代碼的執(zhí)行

具體代碼:

""" self的理解 :
    1, self表示類的實(shí)例 或 對(duì)象, 指向當(dāng)前對(duì)象的內(nèi)存地址 (self不指向類本身,而是類創(chuàng)建的實(shí)例/對(duì)象)
    2, 類中定義的函數(shù)的self 與 init中self的內(nèi)存地址 + 創(chuàng)建實(shí)例的內(nèi)存地址 保持一致(都指向同一個(gè)內(nèi)存地址)
    3, self.__class__ 用來查看當(dāng)前類名,相當(dāng)于print(nameMain)
    """
class nameMain(object):
    def __init__(self, name, age):
        print("init中的self={}".format(self))
        print("self.__class__用于查看當(dāng)前類名 : ", self.__class__)
        self.name = name
        self.age = age

    def printStu(self):
        print("def中的self={}".format(self))
        return "name={}, age={}".format(self.name, self.age)
        
if __name__ == "__main__":
    a = nameMain("immuable", 18)
    print("a = {}".format(a))  # self 打印地址=對(duì)象a的地址
    print(a.printStu())
    print()
    b=nameMain("muable", 100)  # self 打印地址=對(duì)象b的地址
    print("b = {}".format(b))
    print(b.printStu())

輸出

# 對(duì)象a
init中的self=<__main__.nameMain object at 0x0000022E78A2F8D0>
self.__class__用于查看當(dāng)前類名 : ?<class '__main__.nameMain'>
a = <__main__.nameMain object at 0x0000022E78A2F8D0>
def中的self=<__main__.nameMain object at 0x0000022E78A2F8D0>
name=immuable, age=18

#對(duì)象b
init中的self=<__main__.nameMain object at 0x0000022E78A2F828>
self.__class__用于查看當(dāng)前類名 : ?<class '__main__.nameMain'>
b = <__main__.nameMain object at 0x0000022E78A2F828>
def中的self=<__main__.nameMain object at 0x0000022E78A2F828>
name=muable, age=100

self的值是什么?

self的值是Python會(huì)自動(dòng)賦值的,而且值是對(duì)象本身。舉例說明:類Dog,他的實(shí)例是d,那么,d調(diào)用類的方法jian(arge1,arge2)的時(shí)候,Python會(huì)自動(dòng)轉(zhuǎn)為Dog.jian(d,arge1,arge2)。self的值是Dog的實(shí)例d。

以下例子,打印self的值。(打印結(jié)果中的intance是實(shí)例的意思)

總結(jié)

到此這篇關(guān)于對(duì)python中self的深入理解的文章就介紹到這了,更多相關(guān)python中self理解內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python熱重載調(diào)試新利器問題解決

    Python熱重載調(diào)試新利器問題解決

    Reloading是一個(gè)Python工具庫,它讓我們可以在每次迭代之前從源代碼中重新加載(或函數(shù))而不丟失任何當(dāng)前已執(zhí)行過程,這篇文章主要介紹了Python熱重載調(diào)試新利器,需要的朋友可以參考下
    2024-06-06
  • Python?selenium?find_element()示例詳解

    Python?selenium?find_element()示例詳解

    selenium定位元素的函數(shù)/方法可以分為兩類:find_element及find_elements,下面這篇文章主要給大家介紹了關(guān)于Python?selenium?find_element()的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • Python應(yīng)用庫大全總結(jié)

    Python應(yīng)用庫大全總結(jié)

    本篇文章給大家分享了Python應(yīng)用庫大全的相關(guān)內(nèi)容,對(duì)此有需要的可以學(xué)習(xí)下。
    2018-05-05
  • python web應(yīng)用程序之Django數(shù)據(jù)庫詳解

    python web應(yīng)用程序之Django數(shù)據(jù)庫詳解

    這篇文章主要介紹了python web應(yīng)用程序之Django數(shù)據(jù)庫,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • python基于openpyxl生成excel文件

    python基于openpyxl生成excel文件

    這篇文章主要介紹了python基于openpyxl生成excel文件的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • Python中使用第三方庫xlrd來寫入Excel文件示例

    Python中使用第三方庫xlrd來寫入Excel文件示例

    這篇文章主要介紹了Python中使用第三方庫xlrd來寫入Excel文件示例,本文講解了安裝xlwt、API介紹、使用xlwt寫入Excel文件實(shí)例,需要的朋友可以參考下
    2015-04-04
  • VSCode中Python環(huán)境配置、創(chuàng)建虛擬環(huán)境及pip的一些常用命令

    VSCode中Python環(huán)境配置、創(chuàng)建虛擬環(huán)境及pip的一些常用命令

    這篇文章主要給大家介紹了關(guān)于VSCode中Python環(huán)境配置、創(chuàng)建虛擬環(huán)境及pip的一些常用命令,Python環(huán)境的創(chuàng)建是在VSCode中很常見的一個(gè)需求,特別是當(dāng)我們需要開發(fā)或者調(diào)試多個(gè)Python項(xiàng)目時(shí),使用虛擬環(huán)境是一種好的方式,需要的朋友可以參考下
    2023-10-10
  • 基于python的圖片修復(fù)程序(實(shí)現(xiàn)水印去除)

    基于python的圖片修復(fù)程序(實(shí)現(xiàn)水印去除)

    這篇文章主要給大家介紹了關(guān)于python圖片修復(fù)程序的相關(guān)資料,可以用于實(shí)現(xiàn)圖片中水印去除,主要利用的是OpenCV這個(gè)框架實(shí)現(xiàn)的,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧
    2018-06-06
  • Python常用base64 md5 aes des crc32加密解密方法匯總

    Python常用base64 md5 aes des crc32加密解密方法匯總

    這篇文章主要介紹了Python常用base64 md5 aes des crc32加密解密方法匯總,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Python編程中的文件讀寫及相關(guān)的文件對(duì)象方法講解

    Python編程中的文件讀寫及相關(guān)的文件對(duì)象方法講解

    這篇文章主要介紹了Python編程中的文件讀寫及相關(guān)的文件對(duì)象方法講解,其中文件對(duì)象方法部分講到了對(duì)文件內(nèi)容的輸入輸出操作,需要的朋友可以參考下
    2016-01-01

最新評(píng)論

长沙县| 永靖县| 大兴区| 宁晋县| 翼城县| 封丘县| 云南省| 吉林市| 平果县| 东源县| 运城市| 兴化市| 临高县| 九龙城区| 和田市| 德惠市| 莲花县| 临湘市| 鄯善县| 惠东县| 新安县| 普宁市| 谢通门县| 喀喇沁旗| 临清市| 金塔县| 渭南市| 永善县| 资兴市| 磴口县| 会泽县| 东乡县| 尚志市| 柞水县| 乐山市| 灵璧县| 黄浦区| 丰原市| 龙里县| 孟村| 临沂市|