Vorrei una copia della funzione print
chiamata debug
. Come posso creare alias una funzione in Python?Alias una funzione in Python
risposta
Si può semplicemente assegnare debug = print
in Python 3.
In Python 2 print
non è una funzione. Non c'è modo di darti una dichiarazione debug
che funziona esattamente come print
(print 1,
, print 1 >> sys.stderr
ecc.). Meglio che si può fare è scrivere un wrapper per la dichiarazione print
:
def debug(s):
print s
È anche possibile disabilitare la dichiarazione print
e utilizzare la versione Python 3:
from __future__ import print_function
debug = print
Se si esegue questa operazione, non è possibile utilizzare la versione dell'istruzione (print x
). Probabilmente è la strada da percorrere se non stai infrangendo alcun vecchio codice.
Sto usando python 2. – Randomblue
In Python 2.x si può fare:
def debug(s):
print(s)
In 3.x si può semplicemente utilizzare assegnazione:
debug = print
Non hai bisogno di paren dopo 'print' in Python 2. – rvighne
Questo è vero, ma perché non tenerlo compatibile 2/3 dove puoi? –
si può solo definire una nuova funzione debug
come:
def debug(text):
print text
Dipende dalla versione di Python. Python 3 permette semplicemente di fare questo:
debug = print
Tuttavia, le versioni più vecchie considerano print
ad essere dotato di un parola chiave, in modo da avere ad avvolgerla in una propria funzione:
def debug(msg):
print(msg)
Il def
Il metodo ha il vantaggio che i traceback identificano più chiaramente l'alias. Questo potrebbe aiutare un utente che dice "Cosa c'è 'print
'?" se usano solo debug
(l'alias):
>>> def f():
... print x
>>> g = f
>>> g()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in f
NameError: global name 'x' is not defined
>>>
>>> def h():
... return f()
...
>>> h()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in h
File "<stdin>", line 2, in f
NameError: global name 'x' is not defined
- 1. funzione di Alias in javascript
- 2. alias zsh -> funzione?
- 3. Alias funzione Swift
- 4. Alias per il funzionamento dizionario in Python
- 5. stampa una funzione in Python?
- 6. Definire alias del metodo in Python?
- 7. Importazione della funzione con un alias in Haskell
- 8. Come si alias un tipo in python?
- 9. Alias una tabella in Knex
- 10. Esiste una funzione Joomla per generare il campo "alias"?
- 11. Esiste una funzione 'foreach' in Python 3?
- 12. usando una funzione sage standalone in python
- 13. Modifica dell'implementazione di una funzione in Python
- 14. Membro statico di una funzione in Python?
- 15. Come tracciare una funzione multivariata in Python?
- 16. Esiste una funzione "freq" in numpy/python?
- 17. Python - Passaggio di una funzione in un'altra funzione
- 18. Python: come fermare una funzione?
- 19. python: iteratore da una funzione
- 20. Come alias un nome di funzione in Fortran
- 21. colonna Alias in una clausola WHERE
- 22. Ridefinisci/alias una risorsa in WPF?
- 23. Utilizzo di awk in alias BASH o funzione
- 24. Chiama una funzione attraverso una variabile in Python
- 25. Come mutare una lista con una funzione in python?
- 26. Assegnazione di una variabile direttamente a una funzione in Python
- 27. make ignora il mio alias bash Python
- 28. Esiste una funzione di libreria in Python per trasformare una funzione generatore in una funzione che restituisce un elenco?
- 29. funzione annidata in Python
- 30. È possibile avere un alias per sys.stdout in python?
'da __future__ print_function' importazione nella parte superiore del file farà Python 2 utilizzare la versione Python 3 di' print', in modo che si può fare 'debug = print'. – katrielalex