2024-04-26 01:35:05 发布
网友
>>> class test(): ... def add(self): ... a = 3+5 ... b = 4+9 ... return a,b ... >>> x = test() >>> x.add() (8, 13) >>> z = x.add() >>> z[0] 8 >>> z[1] 13
我正在寻找读取单个变量的方法,比如使用变量名而不是z[0]或z[1]读取a和b的值。你知道吗
z[0]
z[1]
a
b
我还试图避免使用全局变量。你知道吗
您可以使用collections.namedtuple()来实现:
collections.namedtuple()
from collections import namedtuple Values = namedtuple("Values", ["a", "b"]) class Test(): def add(self): a = 3 + 5 b = 4 + 9 return Values(a=a, b=b) test = Test() x = test.add() print x.a print x.b
输出:
8 13
也可以返回dict。e、 克:
dict
def add(): a = 3 + 5 b = 4 + 9 return {"a": a, "b": b}
然后通过Python语法sugar[key]访问,例如:
[key]
x["a"] x["b"]
或者您可以简单地解包返回的未命名元组,如下所示:
a, b = test.add()
元组也可以解包并存储在变量中
例如
x,y,z = 2,3,4 def getMyTuple(): return a,b,c,d w,x,y,z = getMyTuple()
像这样简单地分配
a, b = x.add()
现在,a将有8个,b将有13个
您可以使用
collections.namedtuple()
来实现:输出:
也可以返回
dict
。e、 克:然后通过Python语法sugar
[key]
访问,例如:或者您可以简单地解包返回的未命名元组,如下所示:
元组也可以解包并存储在变量中
例如
像这样简单地分配
现在,
a
将有8个,b
将有13个相关问题 更多 >
编程相关推荐