2024-10-16 20:51:52 发布
网友
我的问题与这个问题Is enforcing an abstract method implementation unpythonic?有关。我在python中使用抽象类,但是我意识到没有什么可以阻止用户实现一个函数,该函数的参数与基类的参数完全不同。因此,我可能需要检查参数的类型。那不是很不和谐吗?你知道吗
人们如何在python中使用抽象类?你知道吗
简而言之:是的,它是非音速的。有一个抽象基类来检查实现的完整性可能还是有意义的。但是pythonic的方法主要是duck-typing,即假设您使用的对象满足您期望的规范。只需在文档中明确说明这些期望。你知道吗
实际上,你通常不会做很多这样的安全检查。即使您要检查类型,也可以在运行时伪造它。它还允许代码的用户更灵活地确定他们将什么样的对象传递给代码。每次都要实现一个ABC,这会使他们的代码非常混乱。你知道吗
简而言之:是的,它是非音速的。有一个抽象基类来检查实现的完整性可能还是有意义的。但是pythonic的方法主要是duck-typing,即假设您使用的对象满足您期望的规范。只需在文档中明确说明这些期望。你知道吗
实际上,你通常不会做很多这样的安全检查。即使您要检查类型,也可以在运行时伪造它。它还允许代码的用户更灵活地确定他们将什么样的对象传递给代码。每次都要实现一个ABC,这会使他们的代码非常混乱。你知道吗
相关问题 更多 >
编程相关推荐