[Python]... 和pass
2.9 … 和pass
在Python中pass语句是用来在语法上需要一个语句的地方占位的。它不会执行任何操作。
...
是一个特殊的值,表示省略或未完成的代码。它可以用来实现抽象基类,也可以用来在语法上需要一个语句的地方占位,通常情况下,...
可以取代pass。
我们来看一下...
的相关属性:
from icecream import icic(type(...))
print(dir(...))
ic(... == ...)
ic(... == None)
ic(... is None)
ic(... is ...)
14:50:10|> type(…): <class ‘ellipsis’>
[‘class’, ‘delattr’, ‘dir’, ‘doc’, ‘eq’, ‘format’, ‘ge’, ‘getattribute’, ‘gt’, ‘hash’, ‘init’, ‘init_subclass’, ‘le’, ‘lt’, ‘ne’, ‘new’, ‘reduce’, ‘reduce_ex’, ‘repr’, ‘setattr’, ‘sizeof’, ‘str’, ‘subclasshook’]
14:50:10|> … == …: True
14:50:10|> … == None: False
14:50:10|> … is None: False
14:50:10|> … is …: True
pass、...
可以用来在循环或函数中占位,表示未来要添加代码。例如:
for x in range(10):
pass # do nothing
for x in range(10):... # do nothing
...
也可以用来实现抽象基类,表示子类必须重写的方法。例如:
from abc import ABC, abstractmethod
class Animal(ABC):@abstractmethoddef make_sound(self):...
class Dog(Animal):def make_sound(self):print("Woof")