为什么变量在def函数内部不存储东西

时间:2015-04-01 15:55:38

标签: python variables function

我是编程新手! 当我这样做时:

>>>x = "heyy"
>>>def hello():
       x = "hi"
>>>hello()
>>>print(x)
heyy

为什么x仍然是“heyy”? 无论如何我可以将x = hi变成全局变量吗?不使用“返回”并将其放入新变量中? 像:

>>>x = "heyy"
>>>def hello():
    x = "hi"
    return x
>>>y = hello()
>>>print(y)
hi

基本上我只想在运行x

时将hi的内容更改为heyy而不是hello()

1 个答案:

答案 0 :(得分:0)

您可以使用global关键字来执行此操作

def hello():
   global x
   x = "hi"

但请注意,这是不良做法,应尽可能使用return。这是因为在任何方法

中,变量的值都有可能被破坏