2017-06-17 4 views
-1

Können Sie sagen, was ist der Unterschied zwischen diesen beiden Arten von Speichern von Variablen, weil ich sehe, dass beide beim Speichern und Drucken gut funktioniert. DankPython var Speichern Syntax

country = "USA" 
name = ("Harry") 

print(country + " " + name) 
+2

Kein Unterschied Die Klammern dort ändern nichts. – jonrsharpe

+0

Die Klammern werden nur vom Parser erkannt, da ein abstrakter Syntaxbaum (AST) erstellt wird. Sowohl "(Harry)" als auch "Harry" erzeugen den gleichen (Einzelknoten) AST. – chepner

+0

'zwei Arten von Variablen speichern '- Sie speichern keine Variablen. Python-Variable speichert nichts (es funktioniert ein bisschen anders als andere Sprachen). Eine Variable in Python ist ein Name, der nur auf einen Wert verweist ... – Jahid

Antwort

0

Wenn Sie die Klammern um die Definition des name Variable beziehen, werden diese Klammern im Grunde nichts zu tun. Sie gruppieren nur das, was drin ist, also werden diese Operationen zuerst ausgeführt. Da die einzige Operation außer den Klammern die Definition der Zeichenfolge ist, wird nichts getan.

Python folgt meist der PEMDAS Reihenfolge der Operationen (oder BODMAS oder etwas ähnliches), die Sie in der weiterführenden Schule gelernt haben.

4

Nichts. Sie sind gleich.

Die zweite hat nur Klammern um die Reihenfolge der Operation zu definieren. Wie in Mathematik werden Dinge innerhalb von Klammern vor Dingen außerhalb der Klammern ausgewertet. Da jedoch nichts außerhalb der Klammern steht, sind die Klammern nicht erforderlich.

name = ("Harry") 

wertet Gerade

name = "Harry" 

die die gleiche wie die erste Zeile ist.

Eine weitere Möglichkeit, daran zu denken ist, wenn man Algebra tut, würde ein Unterschied zwischen dem folgenden zwei Zeilen ?:

x = 1 
x = (1) 

Die Klammern werden verwendet, da sein wie Aspekte der Gleichung zu einer Gruppe, und definieren Sie die Reihenfolge, in der Dinge ausgewertet werden, genau wie beim Mathe.

Wenn hinzugefügt Sie ein Komma in den Klammern aber:

name = ("Harry",) 

Die name würde bewirken, dass ein 1-Element Tupel werden, so seien Sie vorsichtig mit Kommas in den Klammern, da sie die Bedeutung ändern.

0

Es gibt keinen Unterschied zwischen diesen beiden, beide werden als Strings betrachtet. Es werden jedoch Klammern verwendet, um "Tupel" zu erstellen, also ist es gut, sie nicht so zu verwenden, da das Lesen von Klammern normalerweise ein Hinweis auf ein Tupel ist, sodass die Wahrscheinlichkeit von Missverständnissen ziemlich groß ist hoch damit.

Aber ein Tupel zu erstellen, die Sie gerade hinzufügen '' auf die "()" Für die Ex:

names =("harry",) 

Für mehr Verständnis, schau mal:

enter image description here