为什么python上的if语句有两个等号

为什么python上的if语句有两个等号,python,Python,如果op==“+”:打印(num1+num2) 为什么在这个if语句上使用两个等号而不是一个?出于同样的原因,许多语言都这样做;因为=已用于分配op=“+”是将字符串分配给op的请求op==“+”询问op是否已包含等效字符串 Python更进一步,禁止通过=作为表达式进行赋值,因此在=的输入位置使用=不会意外地执行赋值(在许多类似C语言中是一个问题)并计算赋值的“真实性”(如果op=“+”:将出错,而不是默默地行为不端),尽管Python的最新版本包括了一个walrus操作符(:=),当这是一个

如果op==“+”:打印(num1+num2)


为什么在这个if语句上使用两个等号而不是一个?

出于同样的原因,许多语言都这样做;因为
=
已用于分配
op=“+”
是将字符串分配给
op
的请求
op==“+”
询问
op
是否已包含等效字符串


Python更进一步,禁止通过
=
作为表达式进行赋值,因此在
=
的输入位置使用
=
不会意外地执行赋值(在许多类似C语言中是一个问题)并计算赋值的“真实性”(
如果op=“+”:
将出错,而不是默默地行为不端),尽管Python的最新版本包括了一个walrus操作符(
:=
),当这是一个需要的行为时(
:=
比简单地省略一个
=
)更难意外地输入。

==是一个比较操作符 您可以使用==查看任何两个相同类型的项是否等效:

a = 2
if a == 2: # Compares whether a is equal to 2. this is true.
    print(a)
使用==时,如果两项相同,则返回True。否则,它将返回False


用你的代码

if op == "+": print(num1 + num2)

表示如果op变量与“+”相同,则打印num1+num2的结果。两个等号表示变量与比较器完全相等,例如,如果我们用简单的文字表示

例如,我正在比较的东西与我想要的东西完全相同

1 == 1 # This means that the number one is exactly equal to the number one.
对你来说

op == "+"  # Whatever the op is if it's a "+" sign do something with it.

一个
=
用于分配任务。。。类似于
x=5
的意思是将值
5
放入变量
x
。。。两个
==
意味着相等赋值与布尔运算符。对于其中任何一个,您都不会得到错误<对于不匹配的类型,code>=以静默方式返回
False
(并且
!=
以静默方式返回
True
)。富比较运算符(
=
)将引发
TypeError
,但
=
/
=不会。@ShadowRanger哦,对了。我的错。编辑以修复它。