首頁 >後端開發 >Python教學 >什麼是python類別屬性?類別的私有屬性是什麼? (實例解析)

什麼是python類別屬性?類別的私有屬性是什麼? (實例解析)

乌拉乌拉~
乌拉乌拉~原創
2018-08-22 17:17:023035瀏覽

在這篇文章之中我們來了解一下關於類別的知識,有些朋友可能是剛剛接觸到python這一程式語言,對於python類別屬性這一方面不是特別的了解,但是沒關係接下來這篇文章將會來帶大家來學習一下python類別屬性方法這一方面的知識,好了,廢話不多說我們開始進入文章開始學習吧。

類別的私有屬性

__private_attrs:兩個底線開頭,宣告該屬性為私有,不能在類別的外部使用或直接存取。在類別內部的方法中使用或直接存取。在類別內部的方法中使用時 self.__private_attrs。

類別的方法

在類別的內部,使用 def 關鍵字可以為類別定義一個方法,與一般函數定義不同,類別方法必須包含參數self,且為第一個參數。

類別的私有方法

__private_method:兩個底線開頭,宣告該方法為私有方法,不能在類別的外部呼叫。在類別的內部呼叫 self.__private_methods。

實例如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
class JustCounter:
    __secretCount = 0  # 私有变量
    publicCount = 0    # 公开变量
 
    def count(self):
        self.__secretCount += 1
        self.publicCount += 1
        print self.__secretCount
 
counter = JustCounter()
counter.count()
counter.count()
print counter.publicCount
print counter.__secretCount  # 报错,实例不能访问私有变量

Python 透過改變名稱來包含類別名稱:

Traceback (most recent call last):
  File "test.py", line 17, in <module>
    print counter.__secretCount  # 报错,实例不能访问私有变量
AttributeError: JustCounter instance has no attribute &#39;__secretCount&#39;

Python不允許實例化的類別存取私有數據,但你可以使用 object._className__attrName ( 物件名稱._類別名稱__私有屬性名稱 )存取屬性,參考下列實例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

class Runoob:
    __site = "www.runoob.com"
    
runoob = Runoob()
print runoob._Runoob__site

執行如上的實例之後輸出如下:

www.runoob.com

以上就是本篇文章所講述的所有內容,這篇文章主要介紹了python類別屬性方法的相關知識,希望你能藉助資料從而理解上述所說的內容。希望我在這片文章所講述的內容能夠對你有幫助,讓你學習python更加輕鬆。

更多相關知識,請造訪php中文網Python教學欄位。

以上是什麼是python類別屬性?類別的私有屬性是什麼? (實例解析)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn