python 私有屬性乙個 和兩個 的區別

2021-10-25 19:22:04 字數 681 閱讀 4371

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()

執行結果是: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()是私有方法。如果直接訪問的話,會提示找不到相關的屬性或者方法,但是如果你真要訪問私有的相關資料的話, 也是可以訪問的,嚴格地說,私有方法在它們的類外是可以訪問的,只是不容易 處理。在 python 中沒有什麼是真正私有的;在內部,私有方法和屬性的名字被忽然改變和恢復,以致於使得它們看上去用它們給定的名字是無法使用的

python兩個佇列實現乙個棧和兩個棧實現乙個佇列

棧 先進後出 佇列 先進先出 思路兩個棧實現乙個佇列 思路 兩個棧 都是先進後出 push新增資料的時候,將data資料push到stack1 中,pop資料的時候,先判斷stack2種是否有資料 如果有資料的話,直接pop stack2中的資料 因為pop是直接彈出最後乙個資料 如果stack2中...

兩個棧實現乙個佇列和兩個佇列實現乙個棧

stack 後進先出 lifo 是在表的一端進行插入或刪除運算的線性表,我們把插入 刪除的這一端稱為棧頂 top 另一端稱為棧底 bottom e push e item 把元素壓入棧頂並返回此元素 e pop 移除棧頂元素並返回此元素 e peek 檢視棧頂元素而不移除它 boolean empt...

兩個棧實現乙個佇列和兩個佇列實現乙個棧

棧的特性 先進後出 filo 佇列的特性 先進先出 fifo 1 兩個棧實現乙個佇列 1 思路 入棧時,直接壓入棧1中 如果棧1滿了,判斷棧2是否為空,若為空,則將棧1元素全部倒入棧2,再入棧 若棧2不為空,則不能再入元素 出棧時,判斷棧2是否為空,若棧為空,則將棧1中的元素倒入棧2,否則直接彈出棧...