Python无法从导入中识别变量
我正在创建一个小测试游戏,我想将一个函数从script2导入script1。Script2正在从script3导入播放器类。一切都导入得很好,但是当我尝试在script1中引用player类时,它给了我一个错误并说“NameError:name'player'未定义” 脚本1Python无法从导入中识别变量,python,python-3.x,class,import,nameerror,Python,Python 3.x,Class,Import,Nameerror,我正在创建一个小测试游戏,我想将一个函数从script2导入script1。Script2正在从script3导入播放器类。一切都导入得很好,但是当我尝试在script1中引用player类时,它给了我一个错误并说“NameError:name'player'未定义” 脚本1 import script2 import script3 createPerson() print(player.name) 脚本2 import script3 def createPerson(): g
import script2
import script3
createPerson()
print(player.name)
脚本2
import script3
def createPerson():
global player
new_name = input("What's their name? ")
new_gender = input("What's their gender? ")
new_age = int(input("What's their age? "))
player = Person(new_name, new_age, new_gender)
脚本3
class Person:
number_of_people = 0
list_of_people = {}
def __init__(self, name, age, gender, job="Unemployed"):
self.name = name
self.age = age
self.job = job
self.gender = gender
我想不出这个问题。我是python新手,所以我需要尽可能多的帮助
from script2 import createPerson
player = createPerson()
脚本2:在函数内部定义“person”不会使函数外部可用。最好定义一个函数,返回创建的人并从脚本1调用它
from script3 import Person
def createPerson():
new_name = input("What's their name? ")
new_gender = input("What's their gender? ")
new_age = int(input("What's their age? "))
person = Person(new_name, new_age, new_gender)
return person
剧本3:没有改变