Je comprends que c'est une blague à l'intérieur qui est destiné à rester (tout comme "from __future__ import braces
"), mais que fait-il exactement?Alors, que fait exactement "de __future__ import barry_as_FLUFL"?
Répondre
Il est lié à PEP 0401: BDFL Retirement
Barry fait référence à Barry Varsovie, un développeur Python bien connu. Le from __future__ import barry_as_FLUFL
remplace essentiellement l'opérateur !=
par <>
.
La blague du poisson d'avril PEP 0401 est vraiment drôle et donc son implémentation actuelle. Il fonctionne très bien interactivement à partir du terminal ou par python3 -i
à partir de l'entrée standard, mais étonnamment pas à partir d'un script normal ou sans -i
. Il fonctionne par eval(...)
ou par compile(..)
cette façon:
exec(compile('1<>0', 'foo', 'single', __future__.CO_FUTURE_BARRY_AS_BDFL))
vrai plus drôle que horribles !=
qui a causé la douleur du doigt
Grande réponse car elle explique que cela ne fonctionne pas dans un script normal. Mais je ne suis pas sûr de ce qui se passe avec la dernière ... phrase? La mise en forme et la ponctuation sont en partie blagues, en partie imprudentes, en partie vandales. Je ne peux pas le dire. –
Oh, aussi, pour clarifier: même si vous utilisez '-i', le script qui est exécuté avant d'arriver au REPL doit suivre la syntaxe normale de Python 3, sinon vous obtiendrez une erreur de syntaxe. Et si vous obtenez une erreur de syntaxe dans le script, alors le REPL se comportera comme si vous n'aviez jamais fait l'importation. (Vous avez juste à le faire à nouveau à la REPL, mais cela ne sert à rien de le mettre dans votre script en premier lieu.) C'est OK si le script soulève (la plupart?) D'autres types d'exceptions cependant; l'importation sera toujours en vigueur lorsque vous serez transféré vers le REPL dans ce cas. –
Comme mentionné plus haut, barry Barry Varsovie, bien connu de base Python Dev , le FLUFL Cependant n'a pas été expliqué
Il est synonyme de "Friendly Language Uncle For Life" une blague à l'intérieur parmi les autres développeurs de base python à l'époque. La raison pour laquelle cela permet la syntaxe <>
, c'est qu'il était la personne principale qui voulait utiliser l'opérateur <>
Je me suis juste vanté ici, mais j'ai assisté à un Hackathon Core Python avec Barry et nous avons eu du plaisir à partager des histoires amusantes :) Ceci est similaire au Dictateur Benevolent de Live de Guido van Rossum (BDFL). C'est un gars vraiment sympa :) – MicroTransactionsMatterToo
- 1. Que fait exactement reloadData?
- 2. Que fait exactement @synthesize?
- 3. Que fait exactement visibleContentsAsDataURL?
- 4. Que fait exactement FillMode?
- 5. Que fait exactement Panel.IsItemsHost?
- 6. Que fait exactement MIBCC.EXE?
- 7. Que fait exactement rangeOfCharacterFromSet?
- 8. Que fait exactement System.Diagnostics.Process UseShellExecute?
- 9. Que fait exactement l'utilitaire "ar"?
- 10. Que fait exactement -march = natif?
- 11. WCF: Que fait exactement IsInitiating?
- 12. Que fait "de MODULE import _" en python?
- 13. Que fait un gestionnaire de racks exactement?
- 14. Que fait exactement "foo = (foo + 1)% bar"?
- 15. EntityClient Provider - Que fait-il exactement?
- 16. Que fait le réglage "RAILS_GEM_VERSION" exactement?
- 17. Que fait exactement la méthode .join()?
- 18. Que fait exactement Windbg "d esp"?
- 19. Que fait exactement ce code ML standard?
- 20. Que fait exactement ce programme OpenCV?
- 21. Que fait exactement Up Vector dans DirectX?
- 22. Que fait exactement la directive using?
- 23. Qu'est-ce que CDATA et que fait-il exactement?
- 24. Que fait exactement la règle de suppression de Nullify?
- 25. De quelle version de python avez-vous besoin de __future__ import with_statement?
- 26. Que fait exactement cette syntaxe de javascript getElementsByTagName?
- 27. Que fait exactement "map.resource" dans le fichier de route?
- 28. Ruby on Rails: alias_method_chain, que fait-il exactement?
- 29. Que fait exactement Response.Redirect ("~/...") dans la réponse HTTP?
- 30. Que fait exactement la clause "Over" dans T-Sql?
Merci. J'ai édité votre réponse parce qu'elle présentait une erreur évidente :) – tzot
Plus important encore, elle active la syntaxe '<>' dans Python 3. –
Le lien indique que l'instruction 'print' est de retour. – manojlds