亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

關(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(帶參/無(wú)參)
  • 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來(lái)調(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)格來(lái)裝修房子。

  • 客戶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__ 用來(lái)查看當(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ì)象本身。舉例說(shuō)明:類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 numpy數(shù)組復(fù)制使用實(shí)例解析

    python numpy數(shù)組復(fù)制使用實(shí)例解析

    這篇文章主要介紹了python numpy數(shù)組復(fù)制使用實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • python實(shí)現(xiàn)漫天飄落的七彩花朵效果

    python實(shí)現(xiàn)漫天飄落的七彩花朵效果

    要實(shí)現(xiàn)漫天飄落的七彩花朵效果,你可以使用Python的圖形庫(kù),如Pygame或Pyglet,這些庫(kù)可以幫助你創(chuàng)建動(dòng)畫和圖形效果,本文給大家介紹了如何使用python實(shí)現(xiàn)漫天飄落的七彩花朵效果,感興趣的朋友可以參考下
    2024-01-01
  • pytorch 在sequential中使用view來(lái)reshape的例子

    pytorch 在sequential中使用view來(lái)reshape的例子

    今天小編就為大家分享一篇pytorch 在sequential中使用view來(lái)reshape的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧
    2019-08-08
  • OpenCV(python)版實(shí)現(xiàn)文本分割之水平投影法

    OpenCV(python)版實(shí)現(xiàn)文本分割之水平投影法

    本文主要介紹了OpenCV(python)版實(shí)現(xiàn)文本分割之水平投影法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Linux下python制作名片示例

    Linux下python制作名片示例

    這篇文章主要介紹了Linux下python制作名片示例的相關(guān)資料,需要的朋友可以參考下
    2018-07-07
  • Python selenium模塊實(shí)現(xiàn)定位過程解析

    Python selenium模塊實(shí)現(xiàn)定位過程解析

    這篇文章主要介紹了python selenium模塊實(shí)現(xiàn)定位過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • django如何計(jì)算兩個(gè)TimeField的時(shí)差

    django如何計(jì)算兩個(gè)TimeField的時(shí)差

    在Django中,可以使用datetime模塊來(lái)計(jì)算兩個(gè)TimeField字段的時(shí)間差,下面通過示例代碼介紹django?計(jì)算兩個(gè)TimeField的時(shí)差,需要的朋友可以參考下
    2023-05-05
  • Pytorch中DataLoader的使用方法詳解

    Pytorch中DataLoader的使用方法詳解

    在Pytorch中,torch.utils.data中的Dataset與DataLoader是處理數(shù)據(jù)集的兩個(gè)函數(shù),用來(lái)處理加載數(shù)據(jù)集,這篇文章主要介紹了Pytorch中DataLoader的使用方法,需要的朋友可以參考下
    2022-09-09
  • Python自動(dòng)巡檢H3C交換機(jī)實(shí)現(xiàn)過程解析

    Python自動(dòng)巡檢H3C交換機(jī)實(shí)現(xiàn)過程解析

    這篇文章主要介紹了Python自動(dòng)巡檢H3C交換機(jī)實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 基于PyQt5制作一個(gè)表情包下載器

    基于PyQt5制作一個(gè)表情包下載器

    每次和朋友聊天苦于沒有表情包,而別人的表情包似乎是取之不盡、用之不竭。作為一個(gè)程序員哪能甘愿認(rèn)輸,所以本文將用Python制作一個(gè)表情包下載器供大家斗圖,需要的可以參考一下
    2022-03-03

最新評(píng)論