我有以下类,当我声明'常量'来映射一个值到另一个时使用。 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 2014-09-29 21:55:17
在这种情况下,你需要调用'str(SEC_ID) '或使用'dict [SEC_ID] = 1234'存储元素,然后'dict [SEC_ID]'来检索。一般来说,你不能指望Python神奇地转换类型 - 它怎么知道在大多数情况下转换为字符串或整数? – 2014-09-29 22:23:09