首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改函数中的变量(Python 3.x)

更改函数中的变量(Python 3.x)
EN

Stack Overflow用户
提问于 2018-01-22 00:36:29
回答 1查看 120关注 0票数 0

如果你有如下的python代码:

代码语言:javascript
复制
thing = "string"
def my_func(variable):
    variable = input("Type something.")

my_func(thing)

print(thing)

那么变量'thing‘将只返回'string’,而不是新输入的内容。如何在不列出实际变量名的情况下对其进行更改?

EN

回答 1

Stack Overflow用户

发布于 2018-01-22 00:42:09

,你在变量的作用域上有问题。

在这里,在函数中将thing作为变量没有任何用处,因为在明确定义函数仅更改thing的值之前,不能通过调用任何函数来更改它。

您可以通过一种方式将其定义为:

代码语言:javascript
复制
thing = "string"
def my_func():
    global thing #As thing has a global scope you have to tell python to modify it globally
    thing = input("Type something:")
>>>my_func()
>>>Type something: hello world
>>>print(thing)
>>>'Hello world'

但上述方法仅适用于thing变量。而不是传递给它的任何其他变量,但像下面这样的函数可以处理所有事情。

代码语言:javascript
复制
thing = "string"
def my_func():
    a = input("Type something."))
    return a
>>>thing = my_func()
>>>Type something: Hello world
>>>print(thing)
>>>'Hello world'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48369097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档