Как правильно распечатать атрибут списка объектов на основе API Google Sheets?

Попробуйте использовать .live() вместо .bind(); .live() свяжет .hover с вашим флажком после выполнения запроса Ajax.

1
задан Dean 28 March 2019 в 04:36
поделиться

2 ответа

Вы получите строковое значение, если вы call напечатаете метод:

print(mac_list[i].__str__(), sep='\n')
0
ответ дан drec4s 28 March 2019 в 04:36
поделиться

Взгляните на документы для str(). Соответствующая часть:

str(object) возвращает object.__str__(), которое является «неформальным» или хорошо печатаемым строковым представлением объекта. Для строковых объектов это сама строка. Если объект не имеет метода __str__(), то str() возвращается к возвращению repr(object).

Аналогично, repr() вызывает __repr__().

Из документов по print():

Все аргументы без ключевых слов преобразуются в строки, как это делает str(), и записываются в поток

. ]

Таким образом, print(obj) ведет себя как str(obj), за исключением того, что он записывает в поток, а не возвращает значение. Это означает, что ваше решение оказывается проще, чем вы думали:

# you can iterate over the list directly
for mac_auth in mac_list:
    # sep='\n' is the default value, so you don't need to specify it 
    print(mac_auth)

В качестве примечания, причина, по которой вы сейчас видите это:

<bound method MacAuth.__str__ of XXXXXXXXXXXX>

потому что метод MacAuth.__str__ также является объектом, с определенным собственным представлением строки, а print преобразует метод в строку.

Представления связанных методов включают ссылку на объект, с которым они связаны, в данном случае объект MacAuth. Поток будет похож на это:

  1. print() пытается преобразовать метод __str__ (который сам по себе является объектом), связанный с объектом MacAuth, в строку [1127 ]
  2. Строковое представление __str__ включает в себя объект, с которым он связан, что-то вроде <bound method MacAuth.__str__ of [MacAuth obj]>
  3. Чтобы напечатать часть [MacAuth obj], вызывается __str__ этого объекта, который возвращает mac_address ] атрибут по желанию
0
ответ дан onepan 28 March 2019 в 04:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: