Атрибуты списка объекта

Вы можете отправить запрос, когда ваши изображения закончат сборку в Docker Hub, через Docker Hub Webhooks .

Вы можете использовать веб-зацепки, чтобы вызвать действие в другом сервисе в ответ на push-событие в хранилище. Webhooks - это запросы POST, отправленные на URL, который вы определили в Docker Hub.

blockquote>

Вы можете запустить конвейер битового сегмента, используя запрос POST через URL-адрес https://api.bitbucket.org/2.0/repositories/{username}/{repo_slug}/pipelines/. Вы можете проверить документацию для получения дополнительной информации.

255
задан CDspace 18 July 2017 в 12:17
поделиться

5 ответов

В дополнение к этим ответам я буду включать функцию (python 3) для того, чтобы извергнуть фактически всю структуру любого значения. Это использует dir для составления полного списка имен свойства, затем использует getattr с каждым именем. Это отображает тип каждого члена значения, и, когда возможно также отображает всего участника:

import json

def get_info(obj):

  type_name = type(obj).__name__
  print('Value is of type {}!'.format(type_name))
  prop_names = dir(obj)

  for prop_name in prop_names:
    prop_val = getattr(obj, prop_name)
    prop_val_type_name = type(prop_val).__name__
    print('{} has property "{}" of type "{}"'.format(type_name, prop_name, prop_val_type_name))

    try:
      val_as_str = json.dumps([ prop_val ], indent=2)[1:-1]
      print('  Here\'s the {} value: {}'.format(prop_name, val_as_str))
    except:
      pass

Теперь любое следующее должно дать понимание:

get_info(None)
get_info('hello')

import numpy
get_info(numpy)
# ... etc.
0
ответ дан 23 November 2019 в 02:46
поделиться
>>> ', '.join(i for i in dir(a) if not i.startswith('__'))
'multi, str'

Это, конечно, напечатает любые методы или атрибуты в определении класса. Вы можете исключить «частные» методы, изменив i.startwith ('__') на i.startwith ('_')

31
ответ дан 23 November 2019 в 02:46
поделиться
>>> class new_class():
...   def __init__(self, number):
...     self.multi = int(number) * 2
...     self.str = str(number)
... 
>>> a = new_class(2)
>>> a.__dict__
{'multi': 4, 'str': '2'}
>>> a.__dict__.keys()
dict_keys(['multi', 'str'])

Вы также можете найти pprint полезным.

247
ответ дан 23 November 2019 в 02:46
поделиться

Для чего вам это нужно? Трудно дать вам лучший ответ, не зная ваших точных намерений.

  • Почти всегда лучше сделать это вручную, если вы хотите отобразить экземпляр вашего класса определенным образом. Это позволит включить именно то, что вы хотите, и не включать то, что вы не хотите, а порядок будет предсказуемым.

    Если вы ищете способ отобразить содержимое класса, вручную отформатируйте атрибуты, которые вас интересуют, и предоставьте это как метод __str__ или __repr__ для вашего класса.

  • Если вы хотите узнать, какие методы и т.п. существуют для объекта, чтобы понять, как он работает, используйте help. help(a) покажет вам форматированный вывод о классе объекта на основе его docstrings.

  • dir существует для программного получения всех атрибутов объекта. (Доступ к __dict__ делает то, что я бы сгруппировал как то же самое, но не стал бы использовать сам). Однако это может не включать то, что вам нужно, и может включать то, что вам не нужно. Это ненадежно, и люди думают, что им это нужно, гораздо чаще, чем на самом деле.

  • На несколько ортогональной ноте, в настоящее время поддержка Python 3 очень слаба. Если вы заинтересованы в написании реального программного обеспечения, вам понадобятся такие сторонние вещи, как numpy, lxml, Twisted, PIL или любое количество веб-фреймворков, которые пока не поддерживают Python 3 и не планируют поддерживать в ближайшее время. Различия между 2.6 и веткой 3.x невелики, но разница в поддержке библиотек огромна.

9
ответ дан 23 November 2019 в 02:46
поделиться
dir(instance)
# or (same value)
instance.__dir__()
# or
instance.__dict__

Затем вы можете проверить, какой тип - с помощью type () или является ли метод с callable () .

153
ответ дан 23 November 2019 в 02:46
поделиться
Другие вопросы по тегам:

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