Python中关于类的使用问题想请教一下大佬

class A():
    def __init__(self):
        self.a = np.random.rand(len(self.input_num[0]))
def fun(self, input_num):
    pass

如上代码所示,init 中如何能够拿到 fun 方法中的 input_num 输入呢,上面代码显示是错误的,假设 input_num 只在 fun 函数中输入,


Python中关于类的使用问题想请教一下大佬

9 回复

init 是类的初始化方法,fun 只能在类初始化后才能运行。简而言之,请重看 Python 基础教程。


我无法理解你的问题

拿不到吧,这里的 init 相当于 C++中的构造函数,在对象声明的时候就调用结束了,而这时候 input_num 还没有输入

谢谢,刚刚试了直接在 fun 中初始化 a 属性

你好,你这种情况我们一般不建议用类的呢,用函数就可以了亲

class A():
a = None
def init(self):
pass

def fun(self, input_num):
self.a = np.random.rand(len(input_num[0]))


已解决,谢谢各位

class A():
a = None
def init(self,input_num):
fun(input_num)

def fun(self, input_num):
self.a = np.random.rand(len(input_num[0]))

行吗?

class A(object):
def init(self):
print("--------------")
self.a = self.func()
print(self.a)



def func(self):
a = input("======================:")
return a

A()

感觉很奇妙, init 是初始化实例对象, 可居然能在 init 方法里调用 实例对象的方法. 龟叔果然厉害.

回到顶部