在Python中创建方法(defs)需要类吗?

时间:2010-05-03 20:57:53

标签: python

在Python中创建方法(defs)需要类吗?

3 个答案:

答案 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__中。 (但是,请注意,这意味着您不必在类定义中创建方法,您可以在任何地方以任何方式创建过程,然后将其粘贴到类中。)

[注意:关于方法究竟是什么,如何合成,如何表示以及如何创建自己的方法,我简化了一点。]