假设我有一个返回列表的方法的以下类:
Class C():
def f():
return [1,2,3]
Run Code Online (Sandbox Code Playgroud)
如果我循环这个方法如下:
c=C()
for i in c.f():
print i
Run Code Online (Sandbox Code Playgroud)
在for循环中,cf()会被执行多次吗?如果是,为了得到它一次,我是否必须在循环之外做任务,或者有一些微不足道的方法?
In [395]: def tester():
...: print "Tester Called!"
...: return [1,2,3]
In [396]: for i in tester():
...: pass
Tester Called!
Run Code Online (Sandbox Code Playgroud)
似乎答案是否定的。
来自python 文档:
for 语句用于迭代序列(例如字符串、元组或列表)或其他可迭代对象的元素:
Run Code Online (Sandbox Code Playgroud)for_stmt ::= "for" target_list "in" expression_list ":" suite ["else" ":" suite]表达式列表被评估一次;它应该产生一个可迭代的对象。
| 归档时间: |
|
| 查看次数: |
765 次 |
| 最近记录: |