繁体   English   中英

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

[英]How can I call only one variable in multi variable function?

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

使用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)

如果我正确理解了您的问题(基于“我怎样才能在函数外部打印x值?”)

x,y=calculation()
print(x)

如果您不在乎第二个答复,也可以

x,_=calculation()
print(x)

注意,您不必将外部变量的名称与函数内部的名称相同,即

a,_=calculation()
print(a)

也会工作

您可以使打印语句如下:

print("testing")
print(calculation()[0])

输出:

testing
0
2
1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM