接口測試基礎——第7篇 Python中_、__、__func__之間的區別


今天的東西很少,主要是給自己做個筆記,順便幫大家普及一下Python中的邊角知識:

1、if __name__ == "__main__"是什么意思

答:一個.py文件,如果是自身在運行,那么他的__name__值就是"__main__";
如果它是被別的程序導入的(作為一個模塊),比如:
import unittest
那么,他的__name__就不是"__main__"了。
所以,在.py文件中使用這個條件語句,可以使這個條件語句塊中的命令只在它獨立運行時才執行。
----來自百度問答

2、python中_param,__param,__param__的區別

答:_ 表示該方法或屬性是私有的,也就是說你不想讓別人編輯,那么就可以把變量設置成為 “_變量名”

__來避免子類的重寫;

例如:

 

class A(object): 
    def __method(self): 
        print "I'm a method in A" 
    def method(self): 
        self.__method()
a = A()
print a.method()


輸出是這樣的:
I'm a method in A

我們給A添加一個子類,並重新實現一個__method:

 

class A(object): 
    def __method(self): 
        print "I'm a method in A" 
    def method(self): 
        self.__method()

class B(A): 
    def __method(self): 
        print "I'm a method in B" 

b = B() 
print b.method()


現在,結果是這樣的:
I'm a method in A

就像我們看到的一樣,B.method()不能調用B.__method的方法。實際上,它是"__"兩個下划線的功能的正常顯示。
因此,在我們創建一個以"__"兩個下划線開始的方法時,這意味着這個方法不能被重寫,它只允許在該類的內部中使用。

__XX__用於python調用或一些特殊情況

當你看到"__func__"的時,就知道不要調用它。為什么?因為它的意思是它是用於Python調用的,如下:

 

name = "param"
print name.__len__()
number = 10
print number.__add__(20)

 

輸出為:

5
30
“xx”經常是操作符或本地函數調用的magic methods。

        原文鏈接:http://www.cnblogs.com/coder2012/p/4423356.html

 

微信公眾號搜索“自動化測試實戰”或掃描下方二維碼添加關注~~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM