Sto scavando all'interno del codice per WiringPi-Python per Python e ho trovato diversi isolati come questo:Qual è la differenza in queste due istruzioni Python?
def wiringPiSetup():
return _wiringpi2.wiringPiSetup()
wiringPiSetup = _wiringpi2.wiringPiSetup
Questo è un po 'sconcertante per me, perché penso che questo:
def wiringPiSetup():
return _wiringpi2.wiringPiSetup()
produrrebbe esattamente lo stesso risultato come questo:
wiringPiSetup = _wiringpi2.wiringPiSetup
so che il primo è dichiara una nuova funzione, e il secondo è un riferimento t o la funzione originale, ma nei test che ho fatto trovo che sono totalmente equivalenti. Guardate qui:
>>> def a():
... return 4
...
>>> def a1():
... return a()
...
>>> a2 = a
>>>
>>> a1()
4
>>> a2()
4
Così, perché WiringPi-Python messo sia quando qualcuno di loro sarà sufficiente?
BTW:
- sto usando Python 2.7.3
- Questo è il file in cui ho visto che: here
Eh? Bella domanda, non ho * idea * perché lo farebbero. –
Prova a rimuovere una delle opzioni. Rompe qualcosa? – misha
La prima cosa che noto è "Questo file viene generato automaticamente da [swig] (http://www.swig.org/)", che potrebbe spiegare l'affermazione apparentemente inutile. Non ho mai usato SWIG e non ho idea del perché genererebbe un codice del genere, però. –