class A():
def __init__(self):
self.a = np.random.rand(len(self.input_num[0]))
def fun(self, input_num):
pass
1
Sylv 2019-06-28 12:36:42 +08:00
__init__ 是类的初始化方法,fun 只能在类初始化后才能运行。简而言之,请重看 Python 基础教程。
|
2
xiri 2019-06-28 12:37:45 +08:00 via Android
拿不到吧,这里的 init 相当于 C++中的构造函数,在对象声明的时候就调用结束了,而这时候 input_num 还没有输入
|
3
18870715400 OP 谢谢,刚刚试了直接在 fun 中初始化 a 属性
|
4
leishi1313 2019-06-28 12:45:33 +08:00 via Android
你好,你这种情况我们一般不建议用类的呢,用函数就可以了亲
|
5
18870715400 OP class A():
a = None def __init__(self): pass def fun(self, input_num): self.a = np.random.rand(len(input_num[0])) 已解决,谢谢各位 |
6
shyrock 2019-06-28 13:13:59 +08:00
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])) 行吗? |
7
lowman 2019-06-29 17:56:47 +08:00
class A(object):
def __init__(self): print("--------------") self.a = self.func() print(self.a) def func(self): a = input("======================:") return a A() |
8
lowman 2019-06-29 17:58:14 +08:00
感觉很奇妙, init 是初始化实例对象, 可居然能在 init 方法里调用 实例对象的方法. 龟叔果然厉害.
|