Должен ли я беспокоиться о возврате "(str) ['item1', 'item2' ]"

Я пытаюсь вернуть список одним из моих методов взаимодействия с vmware через pyvmomi.

active_list = self.vss.spec.policy.nicTeaming.nicOrder.activeNic

когда я делаю return active_list Я получил:

(str) [
   'vmnic0',
   'vmnic1'
]

Тип:

type(active_list)
<class 'pyVmomi.VmomiSupport.str[]'>

Так как я могу перебирать active_list как бы то ни было, я должен быть обеспокоен (str) префикс.

Я смог избежать (str) [...] префикс, справляясь active_list, new_list=list(active_list)

Какой лучший питонический подход к этому?

1 ответ

Решение

Это (str) Префикс происходит от __str__() представление <class 'pyVmomi.VmomiSupport.str[]'>, Очевидно, что класс также поддерживает итерации, поэтому вы можете зацикливаться на них.

Вы можете узнать больше об именах специальных методов в Документах.

Пока вы не полагаетесь на str() Вывод этого класса / экземпляра вы можете игнорировать.

Другие вопросы по тегам