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

如何解决Python中类的方法的NameError?,python,django,Python,Django,我在做一个小程序,我得到了这个namererror。错误如下: name错误:未定义名称“创建用户” 以下是我编写的一个简短程序: class UserManager(): email = "abc" def create_user(email, password=None): user = (email, password) def create_superuser(email, password): user =

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

name错误:未定义名称“创建用户”

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

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))

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


这与django到底有什么关系?类上的实例方法必须采用一个强制参数
self
(或任何其他名称),表示调用该方法的实例。可能与之相关/重复,请学习一篇关于类的教程,例如,如果您希望该方法是静态方法,请将@staticmethod放在这里。如果希望它是一个类方法,请将@classmethod放在它上面,并添加参数cls。否则,添加self参数。是的,我知道代码没有做任何有用的事情,我实际上没有发布我在Django中创建的整个用户自定义模型,而是发布了其中的一部分(也进行了编辑,使其看起来像一个普通的小程序),它只打印
用户是管理员
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))