How to pass a variable from a function to a class python
我试图将一个变量从一个函数传递给一个类。示例代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | def hello(var): return var class test(): def __init__(self): pass def value(self): print var hello(var) test = test() test.value() |
我想把
谢谢你的帮助。
您需要这样修改类:
1 2 3 4 5 6 7 8 9 | class test(): def __init__(self, var): self.var = var def value(self): print self.var test_inst = test(var) test_inst.value() |
此外,不能使用相同的确切名称来引用类实例和类本身。
我想你可以在班级的函数中调用hello函数。
1 2 3 4 5 6 7 8 9 10 11 12 13 | def hello (var): return var class test(): def __init__(self): pass def value(self): var = hello(5) print var test = test() test.value() |
添加语句:
1 | global var |
您的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | >>> global var >>> def hello(): print var >>> class test(): def __init__(self): pass def value(self): print var >>> var = 15 >>> hello() 15 >>> test().value() 15 |
关于全局变量的提示标准免责声明是错误的…但你就是这样做的。
1 2 3 4 5 6 | class test(): def __init__(self, var): self._var = var def value(self): print self._var |