我不理解Python中pass
语句的用法。
我找到了一些示例代码(点击链接),其中包含pass
语句,但我无法弄清它在这种情况下的用途:
for letter in 'Python':
if letter == 'h':
pass
print 'This is pass block'
print 'Current Letter :', letter
我不理解Python中pass
语句的用法。
我找到了一些示例代码(点击链接),其中包含pass
语句,但我无法弄清它在这种情况下的用途:
for letter in 'Python':
if letter == 'h':
pass
print 'This is pass block'
print 'Current Letter :', letter
Pass在Python中是一个空操作,对效率没有影响。它仅仅被用作语法占位符来标记一个空的代码块。
你可以使用dis模块来查看使用pass语句时生成的代码没有任何区别:
>>> from dis import dis
>>> def f(x):
return x
>>> dis(f)
2 0 LOAD_FAST 0 (x)
3 RETURN_VALUE
>>> def f(x):
pass
return x
>>> dis(f)
3 0 LOAD_FAST 0 (x)
3 RETURN_VALUE
pass
语句是一个空语句,它什么也不做。在你使用它的方式中,它完全没有任何区别。
pass
主要用作占位符语句。假设你有一个函数,你计划以后再实现它。那么,你不能只留下空白,因为这是不正确的语法。所以,你使用pass
。def spam():
pass # i'll implement this later
一个类似的用法就是在空循环中。
for i in xrange(10):
pass # just add some delay maybe?
for i in range(5): # when we execute this code we find error.
for i in range(5): # no error
pass