добавить данные в конструктор пустой список переменных в python - PullRequest
0 голосов
/ 14 марта 2020

У меня есть один класс. Для этого я хочу добавить данные в конструктор пустой переменной списка. Я пытаюсь добавить данные. Но это не работает и выдает ошибку, поскольку «NameError: имя 'items' не определено». до того, как этот код был проработан.

Вот мой фрагмент кода:

class data:
    def __init__(self,items=[]):
        self.items = items
        self.m1(n)
    def m1(self,n):
        self.n=2
        for i in range(self.n):
            d = input('enter the values :')
            self.items.append(d)
        print(self.items)
d=data(items)

Ответы [ 2 ]

2 голосов
/ 14 марта 2020

вот некоторые проблемы неправильно:

1.) В строке 11 элементы нигде не определены, прежде чем пытаться инициализировать класс, поэтому в итоге вы получаете сообщение об ошибке при вызове

 d=data(items)

2.) В строке 4 n не определено. Он не передается в качестве параметра конструктору и не определяется в другом месте блока конструктора. Вам нужно будет определить n.

Вот рабочая версия со всеми правильно определенными переменными:

class data:
    def __init__(self, n, items=[]):
        self.items = items
        self.m1(n)

    def m1(self, n):
        self.n=2
        for i in range(self.n):
            d = input('enter the values :')
            self.items.append(d)
        print(self.items)

items = [1, 5, 7]
d = data(2, items)
0 голосов
/ 14 марта 2020
class data:
def __init__(self,number,name,list_values=[]):
    self.number = int(input('Enter a number :'))
    self.name = name
    self.list_values = list_values
    self.m1()
def m1(self):
    for i in range(self.number):
        items = input('Enter the values :')
        self.list_values.append(items)
    print(self.list_values)
list_values= None
d=data('siddarth',list_values)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...