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