Python - 在该类的实例中调用与该类相同的文件中的函数?

时间:2015-03-25 02:12:13

标签: python class scope

我的文件结构如下:

imports

def myFunc(spam):
    etc

class MyClass():
    def someMethod(self):
         myFunc(eggs)

我不认为这是有效的,因为我理解函数假定范围只是该函数的局部范围。我怎么做到这一点?导入自身然后调用imported.myFunc()

似乎很愚蠢

如果有那些需要知道原因 - 这是一个名为utilities的文件,该类是包含我的数据库包装器的数据库。除此之外是实用功能。如果可能的话,我更愿意将数据库保留在实用程序中。

2 个答案:

答案 0 :(得分:2)

给定标识符的范围由其定义的位置确定。 myFunc是在文件级别定义的,因此它在someMethod中可见,因为它在同一个文件中。

答案 1 :(得分:0)

您应该可以使用正常的函数调用调用Class之外的任何函数(正如您在someMethod中所拥有的那样)。

如果您希望将类中的函数作为方法,则调用将为self.myFunct(...)