Python 類中的資料隱藏是如何工作的?
資料隱藏
在 Python 中,我們在屬性名稱之前使用雙下劃線使其無法訪問/私有或隱藏它們。
下面的程式碼展示了變數 __hiddenVar 如何隱藏。
示例
class MyClass: __hiddenVar = 0 def add(self, increment): self.__hiddenVar += increment print (self.__hiddenVar) myObject = MyClass() myObject.add(3) myObject.add (8) print (myObject.__hiddenVar)
輸出
3 Traceback (most recent call last): 11 File "C:/Users/TutorialsPoint1/~_1.py", line 12, in <module> print (myObject.__hiddenVar) AttributeError: MyClass instance has no attribute '__hiddenVar'
在上面的程式中,我們嘗試使用物件在類之外訪問隱藏變數,並且它丟擲了一個異常。
我們可以使用以下特殊語法訪問隱藏屬性的值 -
示例
class MyClass: __hiddenVar = 12 def add(self, increment): self.__hiddenVar += increment print (self.__hiddenVar) myObject = MyClass() myObject.add(3) myObject.add (8) print (myObject._MyClass__hiddenVar)
輸出
15 23 23
私有方法可以從其類外部訪問,但不像普通情況那樣容易。在 Python 中,沒有任何東西是真正私有的;在內部,私有方法和屬性的名稱會即時混亂和取消混亂,讓它們無法透過給定名稱訪問。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
安卓
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP