Python无法使用类创建用户输入信息的“目录”

时间:2019-01-02 19:11:23

标签: python class input login

我在使用类进行编码方面非常陌生,因此将不胜感激。因此,我试图提示用户输入基本信息,例如名称,用户名和密码。然后,我想保存一个以输入的用户名和所有其他输入的属性命名的类对象。我将这些属性中的每一个附加到列表中,以便稍后调用它们。但是,我不断收到一个错误,指出python没有名为“ z”的属性。

class Login:
  usernames = []
  passwords = []
  firsts = []
  lasts = []

  def __init__(self, first, last, username, password):
    self.first = first
    self.last = last
    self.username = username
    self.password = password
    Login.usernames.append(self.username)
    Login.passwords.append(self.password)
    Login.firsts.append(self.first)
    Login.lasts.append(self.last)

  def fullname(self):
    return '{} {}'.format(self.first, self.last)

x = input('What is your first name? ')
y = input('What is your last name? ')
z = input('What do you want your username to be?')
w = input('What do you want your password to be? ')
z = Login(x , y, z, w)

print(Login.z)

谢谢!

1 个答案:

答案 0 :(得分:1)

您正在尝试访问z类的Login成员,但该成员不存在,这就是为什么您会收到错误消息。看起来您正在尝试在全局范围内使用z变量,在这种情况下,您无需在变量前加上Login。您可以使用z.methodname()来调用所需的方法。例如,如果您想打印z的全名,请执行以下操作:

print(z.fullname())

有关变量作用域的更多信息,请参见here