2017-10-13 13 views
0

Je jouais avec input(()) et j'ai remarqué qu'il imprimait une paire de parens comme invite. Je me suis dit que c'était parce qu'il fallait quelque chose comme argument pour faire une demande. Cependant, je dois mettre d'autres choses entre guillemets si je veux en faire l'invite.Pourquoi imprimer (()) et entrer (()) les parenthèses d'impression?

J'ai ensuite essayé print(()) et j'ai obtenu le même comportement (donc je présume que l'entrée passe juste son arg à imprimer). Pourquoi les parenthèses sont-elles spéciales parce qu'elles n'ont pas besoin d'être entre guillemets?

+4

Parce que '()' est un tuple vide. 'print (())' imprime le tuple. –

+2

Vous pouvez imprimer n'importe quel objet, 'print ([])' ne nécessite pas non plus de guillemets. –

Répondre

3

() est un tuple vide:

>>> t =() 
>>> t 
() 
>>> type(t) 
<class 'tuple'> 
>>> print(t) 
() 

Les deux input() et print() convertir leur argument (s) à la chaîne avant l'impression. Il n'y a rien de spécial à propos d'un tuple ici, vous pouvez faire la même chose avec d'autres objets:

>>> print({'a', 'set', 'object'}) 
{'object', 'a', 'set'} 
>>> input({'a', 'set', 'object'}) 
{'object', 'a', 'set'}