如何在多变量函数中仅调用一个变量?

时间:2019-04-16 02:43:13

标签: python python-3.x

我正在尝试学习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

3 个答案:

答案 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