什麼時候應該使用符號'==',何時只有符號'='就夠了? Python中的符號'=='是什麼意思?python中的符號「=」和「==」是什麼意思?
我在2周前開始編寫python代碼,這兩個符號有時會讓我困惑。有幾次,當我使用'='時,我會收到一條錯誤消息。在我將其更改爲'=='後,再沒有錯誤消息。看起來'=='可以用於'='工作的任何情況。這是真的嗎?你們中的任何一個人能解釋使用這兩個符號的原理嗎?
非常感謝您的幫助!
什麼時候應該使用符號'==',何時只有符號'='就夠了? Python中的符號'=='是什麼意思?python中的符號「=」和「==」是什麼意思?
我在2周前開始編寫python代碼,這兩個符號有時會讓我困惑。有幾次,當我使用'='時,我會收到一條錯誤消息。在我將其更改爲'=='後,再沒有錯誤消息。看起來'=='可以用於'='工作的任何情況。這是真的嗎?你們中的任何一個人能解釋使用這兩個符號的原理嗎?
非常感謝您的幫助!
不同的是,name = value
是告訴的Python是name
現在等於value
。另一方面,name == value
是詢問 Python是否name
等於value
。有些地方你不能告訴 Python什麼name
等於,但你可以問。例如,如果你想打印:
>>> x = 4
>>> print x = 4
File "<stdin>", line 1
print x = 4
^
SyntaxError: invalid syntax
那是因爲我們打印的東西,但x = 4
沒有價值。這是有價值的x
,所以我們想知道x
是否等於4
;我們不想告訴Python它是。在這種情況下,你需要雙=
:
>>> x = 4
>>> print x == 4
True
在,你可以使用=
任何地方,你可以使用==
;但它會有不同的含義。例如:
>>> x = 4
>>> print x
4
>>> x == 4
True
x = 4
告訴Python x
等於4
。沒有其他顯示,因爲它只是一個命令。 x == 4
另一方面是詢問如果x
等於4
。當我們問一個問題時,Python shell會告訴我們答案,所以它打印True
。
正如MarkyPython所說的那樣。分配意味着您使用=
將右側的值分配給左側的變量a
。 a=10
表示a
從此處等於10
。
表達式a==10
測試變量a
是否等於10.此類測試的結果爲布爾值(True或False)。這些測試通常用於if...then
的決定。
a=10 # a is assigned the value of 10, and per duck-typing the type integer
print a # --> 10
print type(a) # --> int
print a==10 # --> True
print a==11 # --> False
if a==10: # if the condition is True
do something
else:
do something else
簡單的答案是=
是賦值運算符,==
是一個比較操作。你說錯了==
可以在=
工作的任何情況下使用。例如,如果我想創建變量my_string
並將其設置爲"something"
,我將使用=
運算符。
my_string = "something"
我使用操作者分配變量的一個對象。
如果我想比較兩個字符串(或其他數據類型)是這樣的:
if "something" == "nothing":
#perform a function
我比較兩個字符串。
但是,如果我嘗試分配一個變量與==
運算符爲變量的初始分配它將無法正常工作。如果它已經被分配了,它將會起作用,但它不會達到你期望的。例如:
my_string == "something"
將引發錯誤名稱錯誤。
同樣,如果你試圖比較兩個字符串(或其它數據類型)與=
操作是這樣的:
if "something" = "nothing":
#perform a function
這將引發一個語法錯誤。
我希望這可以幫助你理解這個概念。快樂編程!
my_string ==「something」'does * not * throw an error。你測試過了嗎? – zondo
是的,它確實會拋出一個錯誤。 – MarkyPython
在什麼代碼?我還沒有找到任何事情。 – zondo
=
是分配運營商,它是用來分配東西給一個變量:
A = 67 #this is called assignment. With this, A has a value of 67
==
是比較運營商,它是用來比較一個項目到另一個項目看看他們是否平等。它導致真正或假
A == 65 #Is A equal to 65? This does NOT assign A to 65. If A was previously assigned as 67, it still retains its 67 value
==
是一個比較運算,同時將=
值賦給所述可變。
您可以使用==
,看看是否有兩個項目,只要它們是相同的類型是相同的:
if a == 2: # Compares whether a is equal to 2
print a
現在,這裏的東西。如果你是比較任意兩個項目,如這些,一個錯誤會彈出:
字符串整數
整數與字符串
字符串和浮
float和string
浮筒和我nteger可以比較,因爲它們是數字,但通常不相等,除非float基本上是整數,但.0
添加到結尾。當使用==
時,如果兩個項目相同,則返回True
。否則,它將返回False
。
您可以使用=
爲變量賦值。使用==
將不執行任何操作或拋出錯誤(如果該變量未定義)。例如,你想要的變量hi
擁有的2的值。然後使用=
:
hi = 2
現在hi
等於2.您可以用操作組合=
像+
和-
假設變量是一個整數或浮動:
hi += 1
hi -= 1
現在通過使用+=
或-=
像上面,變量必須已經被定義爲這些運營商將直接改變變量的值。基本上,他們是這樣的:
hi += 1 # is the same as hi = hi + 1
hi -= 1 # is the same as hi = hi - 1
所以在最後,它們是不同的:
==
是一個比較操作符:返回True
是兩個項相等,則返回False
如果沒有,拋出錯誤,如果用於定義之前分配變量,如果兩個項目不兼容
=
是一個賦值運算符:將分配值,如字符串或數字s變量。當變量的值是一個數字並且已經定義時,可以用於+=
等形式。
它們可以使用相同的時間的唯一方法是,它們可以在字符串中使用:
"hi = hello"
"2 == 3 probably returns False don't you think?"
「=」是一個賦值操作符「==」是比較運算符。 – MarkyPython
你的課本/教程應該涵蓋這個非常重要的信息。你正在使用哪本書或教程? –
這個基本問題更適合語言教程。你不應該問這些基本的問題。 –