У меня есть следующий класс, который я использую при объявлении констант для сопоставления одного значения другому. Есть ли в python реализовать метод по умолчанию, так что в любой момент, когда экземпляр этого класса ссылается без конкретного метода, выполняется метод по умолчанию?реализовать метод экземпляра класса по умолчанию
class FieldMap:
def __init__(self, old_field, new_field):
self._fld_map = (old_field, new_field)
def old_fld(self):
return self._fld_map[0]
def new_fld(self):
return self._fld_map[1]
SEC_ID = FieldMap('value','price')
SEC_NAME = FieldMap('entity_name', 'security_name')
SEC_TICKER = FieldMap('entity_attr', 'ticker')
#Edit: updating example to provide a real example of what i want to achieve
dict = {}
dict['price'] = 1234
print dict[SEC_ID] <--would like this to print out the value 1234 because ideally, the default method would call new_fld() and return 'price'
спасибо, что работает для печати. он не работает, чтобы сказать что-то вроде этого, хотя mydict [SEC_ID] = 1234. Я знаю, что это не совсем то, что я спросил, возможно, я обновлю вопрос – mike01010
В этом случае вам нужно либо вызвать 'str (SEC_ID) 'или хранить элементы, используя' dict [SEC_ID] = 1234', а затем 'dict [SEC_ID]' для извлечения. В общем, вы не можете ожидать, что Python будет магически конвертировать типы - как бы он знал, чтобы преобразовать в строку или целое число в большинстве случаев? –