在Python中创建方法(defs)需要类吗?
答案 0 :(得分:12)
没有。但是,不属于类的def
通常称为函数,而不是方法 - 但它们完全相同,除了不与类关联。
def myFunction(arg1, arg2):
# do something here
答案 1 :(得分:2)
不,您可以使用def
创建函数,而无需将它们包装在类中。
如果您来自Java或C#背景 - 需要一个类 - 您可能需要阅读An Introduction to Python: Functions或类似文章以了解如何使用Python中的函数,因为该语言提供了许多其他功能,如第一类函数,返回多个值,匿名函数等。
答案 2 :(得分:0)
这取决于你对“方法”的定义。
在某种意义上,不,在Python中创建方法不需要类,因为在Python中无论如何都不是方法。只有过程(由于某些奇怪的原因,在Python中称为 functions )。您可以随意创建过程。 方法只是分配给属性的过程的语法糖。
在另一种意义上,是的, 类是创建方法所必需的。它几乎都来自于Python中方法的定义:一个程序插入到类的__dict__
中。 (但是,请注意,这意味着您不必在类定义中创建方法,您可以在任何地方以任何方式创建过程,然后将其粘贴到类中。)
[注意:关于方法究竟是什么,如何合成,如何表示以及如何创建自己的方法,我简化了一点。]