函数外的chnage值而不返回值 - python

时间:2016-09-11 08:49:27

标签: python-2.7

我有一个名为session的属性设置为1.在changeSession()中我试图将其值更改为2.在最后一步中,会话被打印,它仍然是1.您可以看到下面的代码。执行以下操作将使我们打印值2:

  • 会话= changeSession()
  • 让changeSession()返回新的会话值。

    但是,是否可以在不让changeSession()返回任何内容的情况下打印值2?

代码:

session=1

def set_session(s):
    session=s

def changeSession():
    set_session(2)

changeSession()
print session

1 个答案:

答案 0 :(得分:0)

要做到这一点,只需使用global session中的set_session来向python表明您要使用在函数范围之外定义的会话。如果您想记录此行为,则称为变量范围。这是固定代码:

session=1

def set_session(s):
    global session
    session=s

def changeSession():
    set_session(2)

changeSession()
print session