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)。
Python3:在 __getitem__ 實現中區分 Foo[1,2] 和 Foo[(1,2)]
慕的地6264312
2021-06-16 18:14:25
