2013-03-03 88 views
2

如何在同一个文件中调用一个类。我的文件是这样的:Python:如何在同一个文件中调用一个类

class one: 
    def get(self): 
     return 1 

class two: 
    def init(self): 
     get class one get() 

如何获得一个类get()。对不起,我的英语不好。

+3

您确定您需要在此处有课吗?或者一个简单的功能就足够了? – uselpa 2013-03-03 08:40:07

+0

是的,我需要它来防止功能混淆,以及更容易记住。 – Natsume 2013-03-03 09:38:48

+0

你是什么意思“防止功能混淆”?根据你的描述,我不认为你真的明白哪些类是**。 – 2013-03-03 12:37:32

回答

6

您可以拨打One.get()直接,如果你把它变成了一个静态方法:

class One: 
    @staticmethod 
    def get(): 
     return 1 

class Two: 
    def __init__(self): 
     val = One.get() 

没有@staticmethod,你需要的One一个实例,以便能够调用get()

class One: 
    def get(self): 
     return 1 

class Two: 
    def __init__(self): 
     one = One() 
     val = one.get() 
+0

谢谢,我会给你一个镜头。 +1给你:D – Natsume 2013-03-03 09:36:14

+0

@ J.F.Sebastian:很好,赶快,谢谢。 – NPE 2013-03-03 16:28:14

3

NPE的答案是正确的。此外,如果您想按名称(字符串值)呼叫课程,则可以使用下一个解决方案:

class_name_type = globals()['class_name'] 
class_object = class_name_type() 
+0

感谢您的回答。为你+1:D – Natsume 2013-03-03 09:38:00

+0

或只是'obj = class_name()' – jfs 2013-03-03 15:42:20

相关问题