Python“;名称错误:全局名称”;名称检查“;未定义;
我是python新手,一直在练习类和方法。当我运行包含下面代码的脚本时,我得到一个错误“NameError:Global name”nameCheck“未定义”。我如何修复它?提前谢谢Python“;名称错误:全局名称”;名称检查“;未定义;,python,Python,我是python新手,一直在练习类和方法。当我运行包含下面代码的脚本时,我得到一个错误“NameError:Global name”nameCheck“未定义”。我如何修复它?提前谢谢 class game(object): def play(): name = input("What's your name, my friend? ") check = nameCheck(name) if check == 1:
class game(object):
def play():
name = input("What's your name, my friend? ")
check = nameCheck(name)
if check == 1:
print ("Hello %r " %(name))
else:
print ("Sorry, I can't print your name because you don't have one!")
def nameCheck(name):
if name == "":
print("I can't believe you have no name!")
return 0
else:
print("%s is a nice name!" %name)
return 1
game.play()
Python“NameError:未定义全局名称“nameCheck”。在类中,Python函数称为方法,使用方式如下:
class game(object):
def play(self):
self.nameCheck(name)
def nameCheck(self):
pass
self
包含类的对象。在类中,Python函数称为方法,使用方式如下:
class game(object):
def play(self):
self.nameCheck(name)
def nameCheck(self):
pass
self
包含类的对象。因为方法在类中,所以需要为self属性赋值:
这样做:
class game(object):
def play(self):
name = input("What's your name, my friend? ")
check = self.nameCheck(name)
if check == 1:
print ("Hello %r " %(name))
else:
print ("Sorry, I can't print your name because you don't have one!")
def nameCheck(self, name):
if name == "":
print("I can't believe you have no name!")
return 0
else:
print("%s is a nice name!" %name)
return 1
game = Game()
game.play()
self
是实例的占位符,因此您必须通过执行此操作创建对象的实例game=game()
,然后您可以为该实例调用任何方法
现在,您可以从类中的任何位置调用该方法,如果您给了变量self属性,那么它们也可以在类中的任何位置访问
有关的详细信息,因为这些方法位于一个类中,您需要为其提供self属性: 这样做:
class game(object):
def play(self):
name = input("What's your name, my friend? ")
check = self.nameCheck(name)
if check == 1:
print ("Hello %r " %(name))
else:
print ("Sorry, I can't print your name because you don't have one!")
def nameCheck(self, name):
if name == "":
print("I can't believe you have no name!")
return 0
else:
print("%s is a nice name!" %name)
return 1
game = Game()
game.play()
self
是实例的占位符,因此您必须通过执行此操作创建对象的实例game=game()
,然后您可以为该实例调用任何方法
现在,您可以从类中的任何位置调用该方法,如果您给了变量self属性,那么它们也可以在类中的任何位置访问
更多关于的信息,我知道您正在练习,但在Python中,您通常不会为此编写类,除非您希望在类中实际存储有关游戏的一些状态。我知道您正在练习,但在Python中,您通常不会为此编写类,除非你真的想在类中存储一些关于游戏的状态。谢谢你的洞察力,@Noctua!谢谢你的洞察力,@Noctua!这是正确的!我现在可以轻松地使用类和方法。非常感谢你@Christina Careaga!没问题!这需要一些时间来适应,但它是非常有用的!这是正确的!我现在可以轻松地使用类和方法。非常感谢你@Christina Careaga!没问题!这需要一些时间来适应,但它是非常有用的!