[英]Traceback: in in greet NameError:
有人可以幫我解決這個問題嗎?
我收到此消息:
Traceback: in in greet NameError: global name 'name' is not defined
由此:
class Person:
def __init__(self, name):
self.name = name
def greet(self, other_name):
return "Hi {0}, my name is {1}".format(other_name, name)
name
在歡迎功能中超出范圍。 您需要改用self.name
。 例如
class Person:
def __init__(self, name):
self.name = name
def greet(self, other_name):
self.other_name = other_name
return "Hi {0}, my name is {1}".format(other_name, self.name)
您可以驗證它是否有效
>>> mitch = Person('mitch')
>>> mitch.greet('mitchell') # prints 'Hi mitchell, my name is mitch'
>>> mitch.name # prints 'mitch'
>>> mitch.other_name # prints 'mitchell'
name
是Person
類的實例屬性。 意思是,您需要在其前面加上self.
獲得其價值:
return "Hi {0}, my name is {1}".format(other_name, self.name)
# ^^^^^
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.