我正在尝试学习Python3,我认为自己对代码感到困惑。可以说我有一个使用不同变量的函数。
如何从中仅调用一个变量? 我怎样才能在函数外部打印x值?
基本上,我想在函数外使用X的值,特别是当函数中有很多变量时。
先谢谢您
def calculation():
x = 0
y = 1
a = x * y
b = x + y + y
print(a)
print(b)
return x, y
print("testing")
print(calculation(x))
当我尝试运行此代码时,它返回一个名称错误。
>Traceback (most recent call last):
>>File "test.py", line 15, in <module>
>>>print(calculation(x))
>NameError: name 'x' is not defined
答案 0 :(得分:2)
使用global
关键字。这样就可以在定义其的函数之外使用该变量。但是,您必须先调用该函数,然后才能使用其定义的变量,因此您可能必须修改对calculation
的调用
def calculation():
global x
x = 0
y = 1
a = x * y
b = x + y + y
print(a)
print(b)
return x, y
另一种方法是简单地将第一个值calculation
分配给另一个变量,如下所示:
print("testing")
x, y = calculation()
print(x)
答案 1 :(得分:2)
如果我正确理解了您的问题(基于“我怎样才能在函数外部打印x值?”)
args.class = "runner"
args.value = "3"
args.parameters = "--arg1 thread --desc the whole world"
如果您不在乎第二个答复,也可以
x,y=calculation()
print(x)
请注意,您不必将外部变量的名称与函数内部的变量相同,即
x,_=calculation()
print(x)
也可以
答案 2 :(得分:2)
您可以使打印语句如下:
print("testing")
print(calculation()[0])
输出:
testing
0
2
1