Python 将未定义的变量传递给函数并返回该变量的值

Python 将未定义的变量传递给函数并返回该变量的值,python,Python,因此,我试图将一个变量传递给一个尚未定义的函数。我想让函数给这个变量分配一个新值,并对它做一些处理,然后返回这个变量。然后我想在函数之外使用这个变量,因为它现在应该被定义了。 我意识到这个例子并不是最好的,因为你可以通过创建一个变量并添加5来做同样的事情,但我想知道你是否真的可以像我尝试过的那样做 def age_in_5_years(person_age, age): person_age = value + 5 return person_age age_in_5_year

因此,我试图将一个变量传递给一个尚未定义的函数。我想让函数给这个变量分配一个新值,并对它做一些处理,然后返回这个变量。然后我想在函数之外使用这个变量,因为它现在应该被定义了。 我意识到这个例子并不是最好的,因为你可以通过创建一个变量并添加5来做同样的事情,但我想知道你是否真的可以像我尝试过的那样做

def age_in_5_years(person_age, age):
    person_age = value + 5
    return person_age

age_in_5_years(my_age, 20)
age_in_5_yearsr(dads_age, 50)

print(my_age) # expecting: >>>25
print(dads_age) # expecting: >>>55

# what I get >>> NameError: name 'my_age' is not defined

您不能,但您可以这样做:

def age_in_5_year(年龄):
返回年龄+5
我的年龄=5年内的年龄(20)
父亲的年龄=5年内的年龄(50)
打印(我的年龄)
印刷品(爸爸时代)

这样做没有意义。您可以通过以下方式解决此问题:

def age_in_5_years(age):
    age += 5
    return age

my_age = age_in_5_years(20)
dads_age = age_in_5_yearsr(50)

print(my_age) # expecting: >>>25
print(dads_age) # expecting: >>>55

这不是Python的工作方式。我强烈建议你多读一些关于数据类型、变量和函数的内容,但你不能。只需返回您想要的,并显式地分配返回的值。您不能将未定义的变量传递给函数full stop。不存在的东西怎么可能被传递?是的,基本上是一样的。我应该想到这个。。。不过非常感谢!