如何将变量从函数传递到类python

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()

我想把var传给test()班。

谢谢你的帮助。


您需要这样修改类:

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