2017-06-17 106 views
-1

你能告訴我這兩種類型的存儲變量有什麼區別,因爲我可以看到這兩種存儲和打印工作正常。由於Python var存儲語法

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

print(country + " " + name) 
+2

沒有區別,那裏的圓括號不會改變任何東西。 – jonrsharpe

+0

圓括號僅在解析器構建抽象語法樹(AST)時才能看到。 「(Harry」)和「Harry」都產生相同的(單節點)AST。 – chepner

+0

'兩種類型的存儲變量' - 你不存儲變量。 Python變量不存儲任何東西(它的工作原理與其他語言有所不同)。 python中的一個變量是一個名稱,只是指一個值... – Jahid

回答

0

如果你指的是圍繞name變量的定義括號,括號那些基本上無所作爲。他們只是將任何內部分組,以便這些操作首先完成。由於除了括號之外的唯一操作是字符串的定義,實際上沒有任何操作。

Python大多遵循您在中學學到的標準PEMDAS操作順序(或BODMAS或類似的東西)。

4

沒有。他們是一樣的。

第二個只是在它周圍有括號來定義操作順序。就像數學一樣,括號內的東西在括號外的東西之前被評估。由於圓括號之外沒有任何內容,因此括號不是必需的。

name = ("Harry") 

只是計算結果爲

name = "Harry" 

這是一樣的第一線。

另一種方式去思考的是,如果你在做代數,會有以下兩行?:

x = 1 
x = (1) 

括號只是用來將像方程方面的差異,並定義事物評估的順序,就像做數學一樣。

如果你加一個逗號,括號內雖然:

name = ("Harry",) 

會導致name變成1元的元組,所以要小心括號逗號,因爲他們改變了意義。

0

這兩者之間沒有區別,都被視爲字符串。然而,圓括號用於創建「元組」,所以最好不要這樣使用它,這將很容易讀取該程序,因爲通常人們習慣將圓括號看作是元組的指示,所以誤解的可能性很大與此同時。

但要創造一個元組,你只需要添加 '' 以 「()」 對於前:

names =("harry",) 

更多的瞭解,看看這個:

enter image description here