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,否則直接彈出棧...