首页 > 解决方案 > 从函数外部调用在函数中创建的对象

问题描述

用例很简单:我从 Python 中的一个类创建一个对象。如果我在任何函数之外创建该对象,我可以毫无问题地取回任何属性。

但不知何故,如果我碰巧在函数中创建了该对象,我无法将它取回任何地方。

这有效:

class UserTest():
    def__init__(self,name,age,size):
        self.name=name
        self.age=age
        self.size=size

FirstUser=UserTest(name,age,size)

print(FirstUser.name,FirstUser.age,FirstUser.size)

但这不会:

class UserTest():
    def__init__(self,name,age,size):
        self.name=name
        self.age=age
        self.size=size

def createUser(name,age,size):
    FirstUser=Usertest(name,age,size)
    return FirstUser

createUser('Max',38,180)

print(FirstUser.name,FirstUser.age,FirstUser.size)

而且我无法弄清楚为什么我找不到我刚刚创建的对象,即使我在函数末尾返回了 FirstUser 对象。我错过了什么?

标签: pythonclass

解决方案


必须将返回的对象createUser('Max',38,180)分配或缓存到引用变量中,然后该引用变量可用于调用其成员,就像这样
user = createUser('Max',38,180) ,此引用变量 user可用于调用其成员。


推荐阅读