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