Возвращаемое значение Python выводит только одно значение из объекта вместо всех значений - PullRequest
0 голосов
/ 18 мая 2018

У меня есть файл Python с двумя классами A и B, и я наследую temp от класса A до B. В моей функции класса A temp я получаю значение id из файла XML, который имеет такие значения,

[1,2,3,4,5]

Мой класс A с функцией температуры

class A:
        def temp(self):
        id = []
        for child in root:
            temp_id=child.get('id')
            id.append(temp_id)
        return id

, и я получаю значение функции в классе B,

class B (A):
           fun=A
           value = fun.temp()
           for x in value:
             return x

При печати возвращаемого значения вместопечатая все значения, я получаю только первое значение

[1,1,1,1,1] 

Может кто-нибудь, пожалуйста, дайте мне знать, как решить эту проблему, спасибо.

1 Ответ

0 голосов
/ 18 мая 2018

Стандартные функции могут возвращать только одно значение.После этого выполнение продолжается с того места, где была вызвана эта функция.Итак, вы пытаетесь перебрать все значения, но возвращаетесь, увидев первое значение, затем функция завершается и цикл прерывается.

В вашем случае вы можете просто return fun.temp().Или, если вы хотите обработать каждое значение, а затем вернуть новый список, вы можете выполнить что-то вроде:

new_list = []
value = fun.temp()
for x in value:
   # do something with x here
   new_list.append(x)
return new_list

Кроме того, кажется, вы можете быть немного смущены тем, как работает наследование.У DigitalOcean есть отличная статья , если вы хотите взглянуть.

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