Как преобразовать список списка в плоский список из вывода объекта класса в формате Python без получения ошибки "Объект" Пользователь "не является итеративным" - PullRequest
0 голосов
/ 18 июня 2020
class User:
    def __init__(self, id, dbcname, username, password):
        self.id = id
        self.dbacname = dbcname
        self.username = username
        self.password = password
    def __repr__(self):
        return f'{[self.username, self.password, self.dbcname]}'

users = []
users.append(User(id=1, dbcname='dbc1', username='user0', password='pwd1'))
users.append(User(id=1, dbcname='dbc2', username='user1', password='pwd2'))
print(users[1])

выводится как ['user1', 'pwd2', 'dbc2']

, но я хотел знать, как получить доступ к значению user1

Ответы [ 2 ]

1 голос
/ 18 июня 2020

Просто добавьте расширение (у вас тоже есть опечатка, где bdcname превратилось в dbaname) :

class User:
    def __init__(self, id, dbcname, username, password):
        self.id = id
        self.dbcname = dbcname
        self.username = username
        self.password = password
    def __repr__(self):
        return f'{[self.username, self.password, self.dbcname]}'

users = []
users.append(User(id=1, dbcname='dbc1', username='user0', password='pwd1'))
users.append(User(id=1, dbcname='dbc2', username='user1', password='pwd2'))
print(users[1].username)

Вывод:

user1
1 голос
/ 18 июня 2020

Доступ к созданному атрибуту

users = []
users.append(User(id=1, dbcname='dbc1', username='user0', password='pwd1'))
users.append(User(id=1, dbcname='dbc2', username='user1', password='pwd2'))
print(users[1].username)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...