面试python的理解_Python面试中会遇到的一些问题,和自己的理解。
1 類變量和實例變量
類變量:
?是可在類的所有實例之間共享的值(也就是說,它們不是單獨分配給每個實例的)。例如下例中,num_of_instance 就是類變量,用于跟蹤存在著多少個Test 的實例。
實例變量:
實例化之后,每個實例單獨擁有的變量。
補充的例子
這里p1.name="bbb"是實例調用了類變量,這其實和上面第一個問題一樣,就是函數傳參的問題,p1.name一開始是指向的類變量name="aaa",但是在實例的作用域里把類變量的引用改變了,就變成了一個實例變量,self.name不再引用Person的類變量name了.
可以看看下面的例子:
2 Python自省
這個也是python彪悍的特性.
自省就是面向對象的語言所寫的程序在運行時,所能知道對象的類型.簡單一句就是運行時能夠獲得對象的類型.比如type(),dir(),getattr(),hasattr(),isinstance()
3 Python中單下劃線和雙下劃線
__foo__:一種約定,Python內部的名字,用來區別其他用戶自定義的命名,以防沖突,就是例如__init__(),__del__(),__call__()這些特殊方法
_foo:一種約定,用來指定變量私有.程序員用來指定私有變量的一種方式.不能用from module import * 導入,其他方面和公有一樣訪問;
__foo:這個有真正的意義:解析器用_classname__foo來代替這個名字,以區別和其他類相同的命名,它無法直接像公有成員一樣隨便訪問,通過對象名._類名__xxx這樣的方式可以訪問.
自己的一些理解和案例,可以參考。歡迎交流。需要資料s我。
總結
以上是生活随笔為你收集整理的面试python的理解_Python面试中会遇到的一些问题,和自己的理解。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python怎么编辑文件夹_python
- 下一篇: python 多分类 recall_py