Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在不同的函数中使用相同的变量。(Python)_Python_Function_Variables_Constants - Fatal编程技术网

在不同的函数中使用相同的变量。(Python)

在不同的函数中使用相同的变量。(Python),python,function,variables,constants,Python,Function,Variables,Constants,这里的新手,我目前正在写一个“游戏”在前36的LearnPythonTheHardWay 如果我想在一个函数中询问用户名。我怎样才能回忆起所有其他函数中的persones name,而无需再次请求它,或再次将其设置为name?根据我的理解,函数中的变量不会影响其他函数,但如果我希望它影响其他函数呢 def room_1(): name = raw_input("What is your name?") print "hi %s" % name def room_7():

这里的新手,我目前正在写一个“游戏”在前36的LearnPythonTheHardWay

如果我想在一个函数中询问用户名。我怎样才能回忆起所有其他函数中的persones name,而无需再次请求它,或再次将其设置为name?根据我的理解,函数中的变量不会影响其他函数,但如果我希望它影响其他函数呢

def room_1():
    name = raw_input("What is your name?")
    print "hi %s" % name

def room_7():
    print "Hi %s" % name    

请求名称时应将其声明为全局,以便在其他函数中使用:

def room_1():
    global name
    name = raw_input("What is your name?")
    print "hi %s" % name

def room_7():
    print "Hi %s" % name 

请求名称时应将其声明为全局,以便在其他函数中使用:

def room_1():
    global name
    name = raw_input("What is your name?")
    print "hi %s" % name

def room_7():
    print "Hi %s" % name 

请求名称时应将其声明为全局,以便在其他函数中使用:

def room_1():
    global name
    name = raw_input("What is your name?")
    print "hi %s" % name

def room_7():
    print "Hi %s" % name 

请求名称时应将其声明为全局,以便在其他函数中使用:

def room_1():
    global name
    name = raw_input("What is your name?")
    print "hi %s" % name

def room_7():
    print "Hi %s" % name 

有两种方法,第一种是创建一个类并设置一个名为
playername
的属性。比如:

class Game(object):
    def __init__(self,playername=None):
        if playername is None: self.playername = raw_input("What's your name? ")
        else: self.playername = playername
        # initialize any other variables here

    def run(self):
        # all your code goes here, and self.playername
        # is always your player's name.

game = Game()
game.run()
另一个被广泛地(正确地)反对。你可以用一个全球性的

global name
name = raw_input("What is your name? ")
现在,只要不覆盖任何函数中的
name
,它们就可以调用
name
,并像访问局部变量一样访问它


编辑:看起来你正在尝试构建一个游戏,它应该实现一个几乎肯定超出你现在能力范围的功能。你当然可以不用它,但是代码总是有“意大利面条”的感觉<代码>类游戏是迈向FSM的第一步,但还有很长的路要走:)

两种方法,第一种方法是创建一个类并设置一个名为
playername
的属性。比如:

class Game(object):
    def __init__(self,playername=None):
        if playername is None: self.playername = raw_input("What's your name? ")
        else: self.playername = playername
        # initialize any other variables here

    def run(self):
        # all your code goes here, and self.playername
        # is always your player's name.

game = Game()
game.run()
另一个被广泛地(正确地)反对。你可以用一个全球性的

global name
name = raw_input("What is your name? ")
现在,只要不覆盖任何函数中的
name
,它们就可以调用
name
,并像访问局部变量一样访问它


编辑:看起来你正在尝试构建一个游戏,它应该实现一个几乎肯定超出你现在能力范围的功能。你当然可以不用它,但是代码总是有“意大利面条”的感觉<代码>类游戏是迈向FSM的第一步,但还有很长的路要走:)

两种方法,第一种方法是创建一个类并设置一个名为
playername
的属性。比如:

class Game(object):
    def __init__(self,playername=None):
        if playername is None: self.playername = raw_input("What's your name? ")
        else: self.playername = playername
        # initialize any other variables here

    def run(self):
        # all your code goes here, and self.playername
        # is always your player's name.

game = Game()
game.run()
另一个被广泛地(正确地)反对。你可以用一个全球性的

global name
name = raw_input("What is your name? ")
现在,只要不覆盖任何函数中的
name
,它们就可以调用
name
,并像访问局部变量一样访问它


编辑:看起来你正在尝试构建一个游戏,它应该实现一个几乎肯定超出你现在能力范围的功能。你当然可以不用它,但是代码总是有“意大利面条”的感觉<代码>类游戏是迈向FSM的第一步,但还有很长的路要走:)

两种方法,第一种方法是创建一个类并设置一个名为
playername
的属性。比如:

class Game(object):
    def __init__(self,playername=None):
        if playername is None: self.playername = raw_input("What's your name? ")
        else: self.playername = playername
        # initialize any other variables here

    def run(self):
        # all your code goes here, and self.playername
        # is always your player's name.

game = Game()
game.run()
另一个被广泛地(正确地)反对。你可以用一个全球性的

global name
name = raw_input("What is your name? ")
现在,只要不覆盖任何函数中的
name
,它们就可以调用
name
,并像访问局部变量一样访问它


编辑:看起来你正在尝试构建一个游戏,它应该实现一个几乎肯定超出你现在能力范围的功能。你当然可以不用它,但是代码总是有“意大利面条”的感觉<代码>类游戏是迈向FSM的第一步,但还有很长的路要走:)

现在你可以在函数外定义一个变量,然后用
全局
关键字调用它

通常情况下,您会使用一个类来完成这类事情,但最终您会实现:o)


现在,您可以在函数外部定义一个变量,然后使用
global
关键字调用它

通常情况下,您会使用一个类来完成这类事情,但最终您会实现:o)


现在,您可以在函数外部定义一个变量,然后使用
global
关键字调用它

通常情况下,您会使用一个类来完成这类事情,但最终您会实现:o)


现在,您可以在函数外部定义一个变量,然后使用
global
关键字调用它

通常情况下,您会使用一个类来完成这类事情,但最终您会实现:o)


你熟悉物体吗?这就是通常存储状态(玩家的姓名、位置等)的方式。可以使用全局变量,但不应该。使用globals通常是一种不好的做法。您熟悉对象吗?这就是通常存储状态(玩家的姓名、位置等)的方式。可以使用全局变量,但不应该。使用globals通常是一种不好的做法。您熟悉对象吗?这就是通常存储状态(玩家的姓名、位置等)的方式。可以使用全局变量,但不应该。使用globals通常是一种不好的做法。您熟悉对象吗?这就是通常存储状态(玩家的姓名、位置等)的方式。可以使用全局变量,但不应该。使用globals通常是一种不好的做法。