當前位置:
首頁 > 最新 > Python需要了解清楚的問題

Python需要了解清楚的問題

問題一:_和__的區別是什麼?

python中沒有私有屬性或方法,加上單下劃線用例提示該屬性或方法不應在外部調用,但是調用了也不會出錯,但不符合規範,例如print mc._hello和mc._printStr()。

加雙下劃線的作用是避免子類覆蓋其內容,mc.__world和mc.__printStr2()調用會報錯,但可以在前面加上_MyClass調用。

問題二:迭代器和生成器有什麼區別?

迭代器表示對象是可迭代的,可一個一個地讀取它的每一項,但是必須把它們的值都放在內存里,值比較多時會消耗太多的內存。

生成器是迭代器的一種,但只能迭代它們一次,最後會報StopIteration異常,因為它們的值不是全部存在內存里的,只在要調用的時候在內存生成。

問題三:__init__和__new__的作用是什麼?

__new__是創建類實例的方法,__init__是類實例創建後進行初始化的方法,在__new__方法後調用。__new__方法通常情況下是使用 super(類名, cls).__new__(cls, … …) 這樣的方式返回,可用__new__實現單例。

更多問題見:https://taizilongxu.gitbooks.io/stackoverflow-about-python/content/index.html

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python 的精彩文章:

Python作SCI圖起步
Python學習攻略之資料庫篇

TAG:Python |