Python无法从导入中识别变量

Python无法从导入中识别变量,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

我正在创建一个小测试游戏,我想将一个函数从script2导入script1。Script2正在从script3导入播放器类。一切都导入得很好,但是当我尝试在script1中引用player类时,它给了我一个错误并说“NameError:name'player'未定义”

脚本1

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:没有改变