如何解决Python中类的方法的NameError?

2024-04-29 11:58:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我在做一个小程序,我得到了这个NameError。错误如下:

NameError: name 'create_user' is not defined

以下是我编写的一个简短程序:

class UserManager():
    email = "abc"
    def create_user(email, password=None):
        user = (email, password)

    def create_superuser(email, password):
        user = create_user(
            email,
            password = password
            )
        return ("User is an admin")

password = input("Password: ")

User = UserManager()

print(User.create_superuser(password))

Tags: name程序isemaildef错误createnot
1条回答
网友
1楼 · 发布于 2024-04-29 11:58:26

我已经修改了您的代码,这将起作用,尽管不清楚您想要做什么。 根据前面的评论,您需要使用self和init。 下面的代码可以工作,但仍然没有意义。这只是为了让你明白为什么会出错。 向每个函数添加return,并明确每个函数应该做什么。 (另外,在没有电子邮件的情况下询问密码有点奇怪)

class UserManager:
    def __init__(self):
        self.email = "abc"

    def create_user(self, email, password=None):
        user = (email, password)
        return user

    def create_superuser(self, email, password):
        self.create_user(email, password = password)
        return "User is an admin"

password = input("Password: ")
User = UserManager()
print(User.create_superuser(None, password))

相关问题 更多 >