Quelle est la différence entre les codes suivants?
code1:
var=2**2*3
code2:
var2=2*2*3
Je ne vois pas de différence. Cela soulève la question suivante.
Pourquoi le code1 est-il utilisé si nous pouvons utiliser le code2?
Essayer:
2**3*2
et
2*3*2
pour voir la différence.
**
est l'opérateur de "puissance de". Dans votre opération particulière, 2 à la puissance de 2 donne la même chose que 2 fois 2.
Étoiles doubles (**
) sont l'exponentiation. Donc "2 fois 2" et "2 à la puissance 2" sont les mêmes. Modifiez les chiffres et vous verrez une différence.
2**2 means 2 squared (2^2)
2*2 mean 2 times 2 (2x2)
Dans ce cas, ils ont la même valeur, mais ...
3**3*4 != 3*3*4
Pour répondre spécifiquement à votre question Pourquoi le code1 est-il utilisé si nous pouvons utiliser le code2? Je pourrais suggérer que le programmeur pensait dans un sens mathématiquement plus large. Plus précisément, l'équation plus large est peut-être une équation de puissance, et le fait que les deux premiers nombres soient "2" est plus une coïncidence que la réalité mathématique. Je voudrais m'assurer que le contexte plus large du code prend en charge qu'il soit
var = x * x * y
2 ** 2 = 2 puissance de 2
2 * 2 = 2 fois 2
Le **
opérateur dans Python est vraiment "power;" c'est-à-dire 2**3 = 8
.
Un double astérisque signifie la puissance de. Un astérisque unique signifie multiplié par. 22 est le même que 2x2, c'est pourquoi les deux réponses sont sorties comme 4.
Celui du haut est un opérateur de "puissance", donc dans ce cas c'est la même chose que 2 * 2 égal à 2 à la puissance de 2. Si vous mettez un 3 en position médiane, vous verrez une différence.
Le pouvoir a plus de priorité que de multiplier, donc:
2**2*3 = (2^2)*3
2*2*3 = 2*2*3