为了账号安全,请及时绑定邮箱和手机立即绑定

Python3:在 __getitem__ 实现中区分 Foo[1,2] 和 Foo[(1,2)]

Python3:在 __getitem__ 实现中区分 Foo[1,2] 和 Foo[(1,2)]

慕的地6264312 2021-06-16 18:14:25
Python 3 中是否有可能区分项目查找 Foo[(1,2)] 和 Foo[1,2]?自从在class Foo:    def __getitem__(self, key):        print(type(key), key)foo = Foo()foo[(1,2)]foo[1,2]两者产生相同的输出。<class 'tuple'> (1, 2)编辑:为什么我想要这样:我有一组“参数化”的类,我想为这些类实现一个工厂。例如__call__(*arg),使用从中推断出的参数实例化类,*arg并__getitem__返回具有通过键传递的参数的类。我希望__getitem__可以使用类似__call__的,你可以区分的方式foo[(1,2)]从foo[1,2]类似你能辨别的方式foo((1,2))从foo(1,2)。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号