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

python里運(yùn)用私有屬性和方法總結(jié)

 更新時(shí)間:2019年07月08日 15:17:03   作者:燃燒的猛男1  
在本文里我們給大家分享了關(guān)于python里運(yùn)用私有屬性和方法總結(jié)以及相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們跟著參考學(xué)習(xí)下。

如何在PYTHON里運(yùn)用私有屬性和方法

class File:

  def __init__(self, name):

    self.name = name

    self.code = "ABCDEF"

    

file_A = File("file_A")

#假設(shè)我們有一個(gè)類,叫做文件類,設(shè)置一個(gè)對(duì)象file_A。

file_A.code

#如果直接調(diào)用屬性,是可以看到屬性里面有什么,但是如果這是個(gè)機(jī)密的密碼不能公布,是不能這么處理的。

class File:

  def __init__(self, name):

    self.name = name

    self.__code = "ABCDEF"

    

file_A = File("file_A")

print(file_A.code)

#如果不想密碼公布,可以對(duì)屬性的名稱加上__,但是這里出錯(cuò)了。

class File:

  def __init__(self, name):

    self.name = name

    self.__code = "ABCDEF"

    

file_A = File("file_A")

print(file_A.__code)

#很多人以為是因?yàn)橥獠康拿Q打少了__,但是這里依舊出錯(cuò)了,那是因?yàn)檫@是私有的屬性。

class File:

  def __init__(self, name):

    self.name = name

    self.__code = "ABCDEF"

  def open(self):

    print("This is the AAA file!")

    

file_A = File("file_A")

file_A.open()

#除了屬性,方法也能私有嗎?答案是可以的。

class File:

  def __init__(self, name):

    self.name = name

    self.__code = "ABCDEF"

  def __open(self):

    print("This is the AAA file!")

    

file_A = File("file_A")

file_A.__open()

#私有方法以后,看出來(lái)和私有屬性的返回結(jié)果是一致的。

class File:

  def __init__(self, name):

    self.name = name

    self.__code = "ABCDEF"

  def __open(self):

    print("This is the AAA file!")

    

file_A = File("file_A")

print(file_A._File__code)

file_A._File__open()

#在PYTHON里面如果在方法和屬性那里加上_類名是可以看到私有的屬性和方法的。

知識(shí)點(diǎn)擴(kuò)展:

python默認(rèn)的成員函數(shù)和成員變量都是公開(kāi)的,python 私有屬性和方法沒(méi)有類似別的語(yǔ)言的public,private等關(guān)鍵詞來(lái)修飾。 在python中定義私有變量只需要在變量名或函數(shù)名前加上 "__"兩個(gè)下劃線,那么這個(gè)函數(shù)或變量就會(huì)為私有的了。 在內(nèi)部,python使用一種 name mangling 技術(shù),將 __membername替換成 _classname__membername,所以你在外部使用原來(lái)的私有成員的名字時(shí),會(huì)提示找不到。 比如:

class Person:

def __init__(self):
self.__name = 'haha'#私有屬性
self.age = 22

def __get_name(self):##私有方法
return self.__name

def get_age(self):
return self.age

person = Person()
print person.get_age()
print person.__get_name()
運(yùn)行結(jié)果是:22 Traceback (most recent call last): File "E:\pythoner\zenghe\jay.py", line 38, in print person.__get_name() AttributeError: Person instance has no attribute '__get_name'

我們這里定義的__name是私有屬性,__get_name()是私有方法。如果直接訪問(wèn)的話,會(huì)提示找不到相關(guān)的屬性或者方法,但是如果你真要訪問(wèn)私 有的相關(guān)數(shù)據(jù)的話, 也是可以訪問(wèn)的,嚴(yán)格地說(shuō),私有方法在它們的類外是可以訪問(wèn)的,只是不容易 處理。在 Python 中沒(méi)有什么是真正私有的;在內(nèi)部,私有方法和屬性的名字被忽然改變和恢復(fù),以致于使得它們看上去用它們給定的名字是無(wú)法使用的

相關(guān)文章

  • python 設(shè)置輸出圖像的像素大小方法

    python 設(shè)置輸出圖像的像素大小方法

    今天小編就為大家分享一篇python 設(shè)置輸出圖像的像素大小方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • python中的常量和變量代碼詳解

    python中的常量和變量代碼詳解

    這篇文章主要介紹了python中的常量和變量,通過(guò)實(shí)例代碼給大家介紹了局部和全局變量,需要的朋友參考下吧
    2018-07-07
  • Python pass函數(shù)實(shí)例用法

    Python pass函數(shù)實(shí)例用法

    在本篇文章里小編給大家整理了一篇關(guān)于Python pass函數(shù)實(shí)例用法,有興趣的朋友們可以學(xué)習(xí)下。
    2021-03-03
  • Python教程之基本運(yùn)算符的使用(上)

    Python教程之基本運(yùn)算符的使用(上)

    Python?運(yùn)算符通常用于對(duì)值和變量執(zhí)行操作。這些是用于邏輯和算術(shù)運(yùn)算的標(biāo)準(zhǔn)符號(hào)。在本文中,我們將研究不同類型的?Python?運(yùn)算符,感興趣的可以了解一下
    2022-09-09
  • Pycharm Available Package無(wú)法顯示/安裝包的問(wèn)題Error Loading Package List解決

    Pycharm Available Package無(wú)法顯示/安裝包的問(wèn)題Error Loading Package Li

    這篇文章主要介紹了Pycharm Available Package無(wú)法顯示/安裝包的問(wèn)題Error Loading Package List解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Pyqt5 關(guān)于流式布局和滾動(dòng)條的綜合使用示例代碼

    Pyqt5 關(guān)于流式布局和滾動(dòng)條的綜合使用示例代碼

    這篇文章主要介紹了Pyqt5 關(guān)于流式布局和滾動(dòng)條的綜合使用示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • 解決Django migrate不能發(fā)現(xiàn)app.models的表問(wèn)題

    解決Django migrate不能發(fā)現(xiàn)app.models的表問(wèn)題

    今天小編就為大家分享一篇解決Django migrate不能發(fā)現(xiàn)app.models的表問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • python自動(dòng)化之Ansible的安裝教程

    python自動(dòng)化之Ansible的安裝教程

    這篇文章主要介紹了python自動(dòng)化之Ansible的安裝方法,結(jié)合實(shí)例形式分析了自動(dòng)化運(yùn)維工具Ansible的安裝步驟及相關(guān)操作命令,需要的朋友可以參考下
    2019-06-06
  • python是否適合網(wǎng)頁(yè)編程詳解

    python是否適合網(wǎng)頁(yè)編程詳解

    在本篇文章里我們給各位整理了一篇關(guān)于python是否適合網(wǎng)頁(yè)編程詳解內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2019-10-10
  • PyQt 異步任務(wù)多線程的幾種方案示例詳解

    PyQt 異步任務(wù)多線程的幾種方案示例詳解

    文章總結(jié)了多線程異步編程的不同方式,包括QThread、QThreadPool和concurrent.futures,分別適用于不同場(chǎng)景,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2025-01-01

最新評(píng)論

寿阳县| 淮安市| 张家界市| 安西县| 吉木乃县| 祁连县| 辉南县| 蒙山县| 杂多县| 定结县| 昌吉市| 清水河县| 西平县| 漳州市| 鄄城县| 茂名市| 宁陵县| 大邑县| 保德县| 乃东县| 巩留县| 华安县| 库车县| 宝兴县| 抚顺县| 丰都县| 岱山县| 阜新市| 通道| 阜阳市| 枣强县| 枞阳县| 巨鹿县| 乐昌市| 铁力市| 汉源县| 通化县| 平舆县| 西充县| 蒙自县| 通辽市|