我应该在哪里定义我在__init__中使用的函数

jon*_*opf 6 python function

我正在编写一个在其__init__函数中使用某些函数的类,我不确定在哪里定义这些函数的最佳实践.我通常喜欢先定义,__init__但如果我需要在其中使用a函数/方法,__init__则需要先定义它.我不想在课外定义它,因为它在课外无用,但在我之前定义方法似乎很麻烦__init__.对此有哪些正常约定?

slo*_*oth 13

只需像其他方法一样将方法添加到类中

class Test(object):
    def __init__(self):
        self.hi()

    def hi(self):
        print "Hi!"
Run Code Online (Sandbox Code Playgroud)

没问题.

虽然Python样式指南 IIRC中没有提到它,但是让我们__init__成为你班上第一个方法的惯例.

  • 实际上,关键在于虽然解析器在看到其他方法之前看到`__init__`,但是在完全定义类之前它不会_run_它,此时其他方法可用. (9认同)