En python, il n'y a aucun moyen de faire la différence entre les arguments, les variables locales et les variables globales. La façon facile de le faire peut-être avoir une convention de codage tels que, variables locales et les variables globales convention de codage en Python
- Les variables globales commencent par _ et lettre majuscule
- arguments se terminent par des _
_Gvariable = 10 def hello(x_, y_): z = x_ + y_
Est-ce une façon Pythonian aller? Je veux dire, y a-t-il des normes de codage bien établies/acceptées pour les différencier en python?
=== === AJOUTÉE
je veux juste faire la distinction entre les arguments et les variables locales. Comme les arguments sont donnés de l'extérieur, et plus comme une ROM dans le sens où il n'est pas supposé être en lecture seule. C++ fournit le mot-clé const pour empêcher les arguments de changer, mais pas pour python. Je pensais que l'ajout _ peut être un moyen d'imiter cette fonctionnalité en python.
lecture PEP 8: http://www.python.org/dev/peps/pep-0008/ –
Ce que vous motive à faire cela? Il est généralement assez évident d'où un nom vient et il est assez facile (à moins que vous fassiez quelque chose de fou) de comprendre à partir de la lecture du code. –
Si vous voulez empêcher les fonctions de changer les arguments, comme const, vous pouvez utiliser le module 'copy' sur les objets que vous passez en argument, de sorte que vous passez une copie au lieu de l'objet réel. Cependant, cela pourrait être déroutant, aussi. Probablement le meilleur juste pour écrire le code qui fait exactement ce que vous voulez, et écrivez unittests pour assurer cela. –