我裏面的代碼爲鑽研對於WiringPi-Python Python和我發現了幾個街區是這樣的:這兩個Python語句有什麼區別?
def wiringPiSetup():
return _wiringpi2.wiringPiSetup()
wiringPiSetup = _wiringpi2.wiringPiSetup
這是一個令人費解的一點給我,因爲我認爲這:
def wiringPiSetup():
return _wiringpi2.wiringPiSetup()
將產生完全相同的結果如下:
wiringPiSetup = _wiringpi2.wiringPiSetup
我知道第一個是聲明一個新函數,第二個是參考t原始功能,但在我做的測試中,我發現它們完全相同。看看這裏:
>>> def a():
... return 4
...
>>> def a1():
... return a()
...
>>> a2 = a
>>>
>>> a1()
4
>>> a2()
4
那麼,爲什麼WiringPi的Python把兩者當其中任何一個就足夠了?
BTW:
- 我使用Python 2.7.3
- 這是我看到的文件:here
呃?好問題,我*不知道*他們爲什麼要這麼做。 –
嘗試刪除其中一個選項。它會破壞什麼? – misha
我注意到的第一件事是「這個文件是由[swig](http://www.swig.org/)自動生成的」,這可能會解釋看似毫無意義的說法。儘管我從未使用過SWIG,也不知道爲什麼它會生成這樣的代碼。 –