“Python自动化”;至于&引用;在;声明
我学习python已经有一段时间了,我真的不能对。。在语句中。我对他们的意思略知一二,但不完全确定 所以我的朋友给了我这个代码“Python自动化”;至于&引用;在;声明,python,for-loop,Python,For Loop,我学习python已经有一段时间了,我真的不能对。。在语句中。我对他们的意思略知一二,但不完全确定 所以我的朋友给了我这个代码 print("My name is") for i in range (5): print("Jimmy Five Time" + str(i)) 根据我的理解(因为循环将循环特定次数) 范围函数是数字行的范围,在这种情况下是0-5 我需要的帮助是解释for和in语句的作用。我想完全了解我在做什么。我在谷歌上搜索了一些例子等等,但我似乎真的不太懂。好的,范围(
print("My name is")
for i in range (5):
print("Jimmy Five Time" + str(i))
根据我的理解(因为循环将循环特定次数)
范围函数是数字行的范围,在这种情况下是0-5
我需要的帮助是解释for
和in
语句的作用。我想完全了解我在做什么。我在谷歌上搜索了一些例子等等,但我似乎真的不太懂。好的,范围(5)从0到4创建了一个列表:
>>> range(5)
[0, 1, 2, 3, 4]
因此,“对于使用“范围(5)”创建的列表中的“每个值”,将该值替换为“i”。相当于写出每一行:
print("Jimmy Five Time" + str(0))
print("Jimmy Five Time" + str(1))
print("Jimmy Five Time" + str(2))
print("Jimmy Five Time" + str(3))
print("Jimmy Five Time" + str(4))
语句中之后的任何内容都是实现迭代协议的对象,这意味着它具有返回迭代器对象的iter方法。这是编写python for循环的另一种方法(当然不是这样做的,但仍然是等效的)
希望这能让您更好地了解python for循环的情况。我同意,在习惯了C风格的循环之后,它们可能会令人困惑,因为很多细节都被掩盖了。for..in
是一种迭代iterable的方法
这意味着:iterable是可以迭代的任何东西,比如列表:
[1, 2, 3, 4]
range()。现在,对这样一个列表进行迭代意味着获取一个项目并使用它做一些事情,然后获取下一个项目并使用它做一些事情,依此类推,直到列表中没有更多的项目
[1,2,3,4]中i的表示它需要1
,将其分配给i
,然后执行此语句后面的缩进代码;然后它获取2
,将其分配给i
,并再次执行代码;等等等等
for i in [1, 2, 3, 4]:
print(i)
首先打印1
,然后打印2
,然后打印3
,然后打印4
,然后列表用尽,迭代停止
Python中还有其他类型的iterables可以用同样的方法进行迭代。您试过运行这些代码吗?修改它以查看更改内容时会发生什么?阅读文档/教程?您的理解似乎相当准确(注意,在Python中,0-5不包括5个),因此您仍然想知道什么还不清楚。我不确定我是否表达得足够好,我已经用这些语句工作了大约2周&我需要有人解释它们的“意思”而不是它们的“工作方式”我知道他们做什么,但我不明白…什么?!不,我肯定你表达得不好。已经有(这么多!)介绍性教程了,我们在这里不是要在没有明确问题陈述的情况下再给你写一篇。此外,英语不是我的第一语言,所以我为我糟糕的语法道歉。Python也有大量的文档;看到了,非常感谢@Chris Montanaro,这正是我想要的解释,现在我“理解”了“for”和“IN”中的“does”,IN是整数“Value”,并且“for”每个值加上了替换“I”的值。i=cat in=1-5,所以它将cat添加到所有5个数字中。@HaleyAlisson不,这不是accurate@HaleyAlisson:range
不会在Python 3中创建列表,您也可以使用非整数值:用于['a','B','XYZ']中的值:
。仅供参考:堆栈溢出不是“论坛”,也不是“线程”。你真的不应该在这里发布答案来“与人交谈”。如果你想对某人的答案发表评论,就给他们写一条评论。@deceze我不是这么做的吗?除了我回答自己的问题。我以为你回答自己的问题是为了表明你已经完成了,你得到了你想要的帮助,取消“post”也很好“我以为你回答自己的问题是为了表明你已经完成了”-不,请看(实际上,在帮助中心呆一段时间通常是个好主意)最好说iterator=iter(我的对象)
作为。\uu iter\uu()
不是获得迭代器的唯一方法。
iterator = my_object.__iter__()
while True:
try:
something = iterator.next()
except StopIteration:
# StopIteration exception is raised after last element
break
# loop code
print something
iterator = my_object.__iter__()
while True:
try:
something = iterator.next()
except StopIteration:
# StopIteration exception is raised after last element
break
# loop code
print something