[Python] ciclo while
Marco Buttu
mbuttu a oa-cagliari.inaf.it
Mar 6 Ago 2013 09:53:43 CEST
On 08/05/2013 10:06 AM, Gollum1 wrote:
>> Le parentesi sulla print sulla 3 le trovo, boh, scomode
> qui ora parte una guerra di religione... :P
>
> per quanto mi riguarda, avendo iniziato da poco ad usare python, è
> solo una questione di abitudine, certo è che almeno si uniforma a
> tutte le varie chiamate di funzione... era l'unica (credo) anomalia
> nell'ambito delle chiamate di funzione.
Non c'e' alcuna anomalia. In Python 2 `print` non e' una funzione, ma
una istruzione semplice:
http://docs.python.org/2/reference/simple_stmts.html#the-print-statement
Non puoi usarla all'interno di una espressione:
>>> print('Vero') if True else print('Falso') # Python 2
File "<stdin>", line 1
print('Vero') if True else print('Falso') # Python 2
^
SyntaxError: invalid syntax
Non essendo una etichetta, ma una parola chiave:
>>> from keyword import kwlist # Python 2
>>> 'print' in kwlist
True
non puoi assegnarle un altro oggetto:
>>> print = 33
File "<stdin>", line 1
print = 33
^
SyntaxError: invalid syntax
A partire da Python 3 e' invece una funzione (e' una etichetta che fa
riferimento
ad una funzione):
http://docs.python.org/3.0/whatsnew/3.0.html#print-is-a-function
Puoi quindi usarla all'interno di una espressione, come tutte le altre
funzioni:
>>> print('Vero') if True else print('Falso') # Python 3
Vero
Visto che e' una etichetta (un nome), puoi assegnarle un altro oggetto,
come per
tutte le altre etichette:
>>> print_ = print # Python 3
>>> print = 33
>>> print
33
>>> print_
<built-in function print>
>>> print_('python')
python
>>> print = sum
>>> sum(range(5))
10
Non e' per nulla scomoda, e quando si inizia a programmare con Python 3
ci si rende conto
immediatamente di quanto questo sia più intiutivo rispetto a Python 2
--
Marco Buttu
INAF Osservatorio Astronomico di Cagliari
Loc. Poggio dei Pini, Strada 54 - 09012 Capoterra (CA) - Italy
Phone: +39 070 71180255
Email: mbuttu a oa-cagliari.inaf.it
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130806/5513a6e3/attachment-0001.html>
Maggiori informazioni sulla lista
Python