如何在同一个类中调用一个类的函数

时间:2019-07-11 12:35:28

标签: python oop

我试图在同一类中调用类myclass的get_data函数,但它返回此错误。

  

get_data()缺少1个必需的位置参数:'self'

如何在课堂上调用get_data()函数?

class MyClass:
    def get_data(self):
        return(1)
    a = get_data()
ab = MyClass()
print(ab.a)

2 个答案:

答案 0 :(得分:0)

使用类构造函数__init__

class MyClass:
    def __init__(self):
        self.a = self.get_data()

    def get_data(self):
        return(1)

ab = MyClass()
print(ab.a)

另外,请注意,我将类名大写以遵循python类的命名约定。

答案 1 :(得分:0)

之所以不能这样做,是因为已将函数设为绑定方法,该方法将实例作为第一个参数,但是当前没有传递任何参数。

我不确定您要做什么,但是您可以将get_data方法称为名称a(而不是调用),并在实例化一个实例:

In [136]: class myclass: 
     ...:     def get_data(self): 
     ...:         return 1 
     ...:          
     ...:     a = get_data 
     ...:      
     ...: ab = myclass() 
     ...: print(ab.a())                                                                                                                                                                                     
1