Python';在';带有';对于';循环并使用';如果';陈述
我正在使用pythonin操作符和for循环以及if语句。我的问题是在中是如何实现的,它在这两种情况下的行为不同:它在使用for循环时进行迭代,在使用if语句时检查是否存在某个元素?这是否取决于for和if的执行情况Python';在';带有';对于';循环并使用';如果';陈述,python,if-statement,for-in-loop,Python,If Statement,For In Loop,我正在使用pythonin操作符和for循环以及if语句。我的问题是在中是如何实现的,它在这两种情况下的行为不同:它在使用for循环时进行迭代,在使用if语句时检查是否存在某个元素?这是否取决于for和if的执行情况 for i in x: #iterates if i in x: #checks weather i in x or not 关键字中的通常是一个运算符: print(2 in [1, 2, 3]) # True if 3 i
for i in x:
#iterates
if i in x:
#checks weather i in x or not
关键字中的
通常是一个运算符:
print(2 in [1, 2, 3]) # True
if 3 in range(7, 20):
print('3 in range!')
它对应于特殊方法。b
中的表达式a对应于类型(b)。\uuu包含\uuuu(a)
。请注意,a
和b
都是要查找的名称
在for
语句中,
中的不是运算符。它是..的的一部分。。在..
语法中,将循环变量名与iterable分开
for thing in range(20):
print(thing) # thing is something else on each step
请注意,b中a的仅b
是一个可查找的名称a
是要绑定到的名称,类似于赋值语句
Python语法有几个结构,其中前导关键字定义以下关键字的含义。例如,as
关键字在import
和with
中具有不同的含义:
# as aliases ExitStack
from contextlib import ExitStack as ContextStack
# as holds the result of ContextStack().__enter__()
with ContextStack() as stack:
...
这有助于思考这些关键字,不是通过实现,而是通过含义。例如,b
中的a始终意味着“a
包含在b
中”原因是中的与中的不同
y中x的迭代y
if-in-y
调用y.\uu包含
python中的关键字“in”根据“for”和“if”解决了不同的问题。请查看以了解更多信息在
中使用的成员资格测试是通过方法\uuuuuuu包含
实现的(请参阅)。不同的行为来自您案例中的关键字before、for
和if
使用for
进行迭代,只要关键字for
后的条件为真,就会调用方法next
,并将其返回值写入迭代变量。一般来说,成员资格测试只是一个条件
代码
A in B
for A in B :
# Body
执行
B.__contains__(A) # returns boolean
A = B.next()
if B.__contains__(A) :
# Body
A = B.next()
if B.__contains__(A) :
# Body
# ...
A = B.next()
if B.__contains__(A) :
# B.next() throws "StopIteration" if there is no more element
代码
A in B
for A in B :
# Body
执行
B.__contains__(A) # returns boolean
A = B.next()
if B.__contains__(A) :
# Body
A = B.next()
if B.__contains__(A) :
# Body
# ...
A = B.next()
if B.__contains__(A) :
# B.next() throws "StopIteration" if there is no more element
在许多语言中,你会发现关键字有多种用途。这只是一个例子。从语句的角度思考可能比像操作符一样思考
中的关键字更有帮助
y中的语句x
是一个布尔值语句(假设y
是某个适当的集合)True
当且仅当x
的值在集合y
中。它是通过\uu包含y
的成员函数来实现的
语句为y中的x:
启动一个循环,其中每个迭代x
从集合y
中获取不同的值。这是通过在生成的迭代器对象上使用y
和\uuuuuuuuuuuuuuuuuu下一个
的成员函数来实现的
在
关键字中还可以出现其他语句,如列表理解或生成器理解 @Nane请投票选出对您有帮助的答案,并接受最能回答您问题的答案。如果B.next()
返回A
,则不需要如果B.\uu包含\uuuu(A):
。如果我错了,请纠正我。