在Python中的函数之间传递变量

时间:2016-10-10 16:19:35

标签: python

好的,所以我很难在函数之间传递变量:

我似乎无法找到一个明确的例子。

我不想在funb()中运行funa()。

def funa():
    name=input("what is your name?")
    age=input("how old are you?")
    return name, age

funa()

def funb(name, age):
    print(name)
    print(age)

funb()

3 个答案:

答案 0 :(得分:4)

由于Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.61966 0.08110 7.641 2.87e-09 *** groupcontrols 0.01043 0.09781 0.107 0.916 bin_slotsB 0.09690 0.09882 0.981 0.333 返回名称和年龄的值,您需要将这些值分配给局部变量,然后将它们传递给funb:

funa

请注意,函数内部和外部的名称未链接;这也可行:

name, age = funa()
funb(name, age)

答案 1 :(得分:0)

将其视为通过使用变量和函数参数作为对这些对象的引用来传递对象。当我更新你的例子时,我也改变了变量的名称,以便很明显对象存在于不同命名空间中的不同变量中。

def funa():
    name=input("what is your name?")
    age=input("how old are you?")
    return name, age                   # return objects in name, age

my_name, my_age = funa()               # store returned name, age objects
                                       # in global variables

def funb(some_name, some_age):         # a function that takes name and 
                                       # age objects
    print(some_name)
    print(some_age)

funb(my_name, my_age)                  # use the name, age objects in the
                                       # global variables to call the function

答案 2 :(得分:0)

当它返回一个元组时,您只需使用*解压缩它:

funb(*funa())

看起来应该是这样的:

def funa():
  # funa stuff
  return name, age

def funb(name, age):
  # funb stuff
  print ()

funb(*funa())