Python 之pass 语句、函数体中的英文省略号(...)
本文介绍Python 之pass 语句、函数体中的省略号(...)。
pass 语句
pass 是一种空操作(null operation)——不执行任何操作的语句,解释器执行到它的时候,除了检查语法是否合法,什么也不做就直接跳过。除了占用一行代码行,不会改变程序的执行顺序,也不会产生任何影响。
pass是关键字,IDE 会给出显眼的颜色区分,最常使用 pass 时,基本是在冒号的下一行——而冒号意味着要出现缩进代码块
def func():
pass #将函数体的pass去除,会报错 expected an indented block(需要一个缩进块)
func() #调用
如果将前面的函数体的pass语句用注释来替代,看看会怎样?
def func():
# todo:此处等待以后补上代码
func()
也会报错 expected an indented block,也就是说,缩进代码块中必须包含有语法意义的内容。像下面的例子都是有效的:
def funcA():
"""这是一个字符串"""
或
def funcB():
"abc123"
Python 在定义空函数时,必须要有合法的函数体,因此设计出表示空操作的 pass 语句。它是为了补充语法的完整性,连同冒号,等效于其它语言中一对空的花括号。C语言的函数空函数体可以写成void main(){}
由此可知:Python 使用 pass 语句,是为了支持纯粹空操作的代码块(空函数、空类、空的循环控制块等等),有了它,还能额外表达出一种占位符的语义。
函数体中的省略号(...)
函数体中的省略号(...)和 pass 的作用类似。
注意,是英文省略号,即三个点(...)
例如
def fun():
...
和
def fun():
pass
例:
def f():
print("Hi!")
pass
...
print("Hello!")
f() #调用
运行效果: