2017-10-20 4 views
2

Je vois souvent des variables majuscules et minuscules. Je ne suis pas sûr si le cas est choisi parce que la variable est une instance d'une classe, float32, ou juste une préférence personnelle.Pourquoi certaines variables en python sont-elles majuscules alors que d'autres sont en minuscules?

Voici un exemple du guide de démarrage de Tensorflow. https://www.tensorflow.org/get_started/get_started

W = tf.Variable([.3], dtype=tf.float32) 
b = tf.Variable([-.3], dtype=tf.float32) 
x = tf.placeholder(tf.float32) 
linear_model = W * x + b 

J'essaie de comprendre s'il y a une raison précise pour laquelle W est en majuscule alors que b est minuscule lorsque les deux sont du même type.

Répondre

4

Ce n'est probablement pas un reflet de Python en tant que tel mais du calcul qu'il capture. Habituellement, les coefficients sur x est une matrice qui a la convention d'être une variable majuscule. Que ce soit un exemple unidimensionnel que vous voyez obscurcit cette convention, des dimensions plus élevées seraient plus révélatrices.

0

Il n'y a pas de différence pour Python. Les gens suivent généralement la même nomenclature utilisée dans la littérature, par exemple, E pour l'énergie est généralement en majuscules, ou des noms pour les matrices. C'est juste un choix personnel.

+1

Si vous écrivez votre code pour être lu par des personnes Python (par opposition aux gens de mathématiques), ils s'attendent à la conformité PEP-8. D'un autre côté, si le public ici est des maths, suivre leur convention est logique. Dans aucun des deux cas, ce «choix personnel» n'est exact, sauf dans la mesure où il s'agit d'un jugement sur le choix de l'auditoire et donc sur les conventions à suivre. –

+0

Et les physiciens ont des conventions différentes, de même que les ingénieurs. À la fin, les noms que vous attribuez à vos variables sont complètement un choix personnel, sauf si vous êtes obligé d'utiliser une convention par un supérieur ou quelque chose. –

+1

Je ne suis pas d'accord pour dire que choisir les conventions appropriées au domaine dans lequel vous vous trouvez (ou pour les personnes auxquelles vous pensez lire votre code) est un "choix personnel". Vous ** suivez une convention **, ne faites pas quelque chose de bon gré mal gré. Et si vous faites quelque chose de bon gré mal gré, sans aucune vue sur quelque convention que ce soit, vous risquez d'être désapprouvé (je ne ferais que froncer les sourcils si j'examinais le code potentiel d'une location sur GitHub et qu'ils ne pouvaient pas décrire une justification de leurs choix). –