Проблемы с Python при использовании классов для создания «каталога» пользовательской информации - PullRequest
0 голосов
/ 02 января 2019

Я очень новичок в кодировании с классами, поэтому любая помощь будет оценена.Поэтому я пытаюсь запросить у пользователя основную информацию, такую ​​как имя, имя пользователя и пароль.Затем я хотел бы сохранить объект класса, названный в честь имени пользователя, введенного со всеми другими введенными атрибутами.Я добавил каждый из этих атрибутов в список, чтобы позже их было проще вызывать.Тем не менее, я получаю сообщение об ошибке, что 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 голосов
/ 02 января 2019

Вы пытаетесь получить доступ к z члену класса Login, но он не существует, поэтому вы получаете сообщение об ошибке.Похоже, вы пытаетесь использовать переменную z в глобальной области видимости, и в этом случае вам не нужно добавлять префикс к Login.Вы можете использовать z.methodname() для вызова метода, который вы хотите.Например, если вы хотите напечатать полное имя z, сделайте следующее:

print(z.fullname())

См. здесь для получения дополнительной информации о переменной области видимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...