我无法理解在Python中使用pass
语句。
我找到了一些示例代码here,其中有一个pass
语句,但我无法弄清楚它在这种情况下有用:
for letter in 'Python':
if letter == 'h':
pass
print 'This is pass block'
print 'Current Letter :', letter
答案 0 :(得分:7)
传递是Python中的NOP。它对效率没有影响。它仅用作语法占位符来标记空块。
您可以使用dis module查看使用pass-statement时生成的代码没有差异:
>>> from dis import dis
>>> def f(x):
return x
>>> dis(f)
2 0 LOAD_FAST 0 (x)
3 RETURN_VALUE
现在,再次添加了一个pass语句:
>>> def f(x):
pass
return x
>>> dis(f)
3 0 LOAD_FAST 0 (x)
3 RETURN_VALUE
请注意,生成的代码与pass语句没有区别。
希望有所帮助。祝你好运: - )
答案 1 :(得分:5)
pass
语句是一个空语句。它什么都没做。你使用它的方式,没有任何区别。
pass
主要用作占位符语句。假设您有一个计划稍后实现的功能。好吧,你不能把它留空,因为这是不正确的语法。因此,您使用pass
。
def spam():
pass # i'll implement this later
类似的用法是在空循环中。
for i in xrange(10):
pass # just add some delay maybe?
答案 2 :(得分:1)
当我们在循环区域中无所事事,然后运行程序时,我们将收到错误消息。要消除此错误,我们可以使用pass语句。error
for i in range(5): # when we execute this code we find error.
for i in range(5): # no error
pass