Win*_*ert 26
剔除功能或类
这是指编写类或函数但尚未实现它们.例如,也许我创建一个类:
class Foo(object):
def bar(self):
pass
def tank(self):
pass
Run Code Online (Sandbox Code Playgroud)
我已经删除了函数,因为我还没有实现它们.但是,我不认为这是一个伟大的计划.相反,你应该这样做:
class Foo(object):
def bar(self):
raise NotImplementedError
def tank(self):
raise NotImplementedError
Run Code Online (Sandbox Code Playgroud)
这样,如果您在实现之前意外调用该方法,您将收到错误,然后什么也没发生.
“存根”是一个占位符类或函数,尚不执行任何操作,但需要在此占位符,以便定义相关的类或函数。这个想法是,即使您尚未编写实现,您也可以使用它的某些方面(例如将其放入集合中或将其作为回调传递)。
存根是在许多情况下的有用技术,包括:
请注意,您可以像这样存根函数:
def get_name(self) -> str : ...
def get_age(self) -> int : ...
Run Code Online (Sandbox Code Playgroud)
(是的,这是有效的 Python 代码!)
存根由第三方库动态添加到对象的函数可能很有用,并且您需要输入提示。发生在我身上......一次:-)
| 归档时间: |
|
| 查看次数: |
16356 次 |
| 最近记录: |