Pycharm 查找 duck 类型属性的用法

问题描述 投票:0回答:1

考虑以下(无意义的)最小示例:

class MyClass:
    def __init__(some_list):
        self._some_list = some_list
     
    def __len__(self):
        return len(self._some_list)
    
    @property
    def get_len(self):
        return len(self._some_list)

instance = MyClass([1,2,3])
len(instance)  # works
instance.get_len()   # works as well, but less pythonic?

假设这里的鸭子类型是有意义的,那么实现

__len__
似乎更像python。我想知道如果我要重构这个,我能找到使用 pycharm(或任何其他 IDE 吗?)的用法。如果不是,那么 Pythonic 较少的版本似乎具有明显的优势。

python pycharm
1个回答
0
投票

我在pycharm中测试了你的例子,没有找到

__len__
的用法。

PyCharm 2023.1(社区版)Build #PC-231.8109.197

© www.soinside.com 2019 - 2024. All rights reserved.