Python 约定 - 这些应该是方法还是属性?

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

这两个类实现中哪一个更Pythonic/传统?

我有两个几乎相同版本的类,用于与 zoho Sheets API 交互。 它本质上是通过允许您调用 zs.context.action 或 zs.action.context 来工作的 - 两者都是等效的。

在zs.foo.bar中,zs.foo返回foo类的实例,bar是foo的方法

对 foo 的调用应该是像 zs 这样的方法还是像 zs2 这样的属性?

zs - 使用方法:

    zs.select(
        workbook_id="3o8ua1fa990f83cfoobarbaz", 
        worksheet_name="Sheet1"
    )
    zs.list_all().templates()
    zs.template().list_all()
    zs.cell().get(1,1)
    zs.get().cell(1,1)

zs2 - 使用属性:

    zs2.select(
        workbook_id="3o8ua1fa990f83cfoobarbaz", 
        worksheet_name="Sheet1"
    )
    zs2.list_all.templates()
    zs2.template.list_all()
    zs2.cell.get(1,1)
    zs2.get.cell(1,1)
python
1个回答
0
投票

我认为最Pythonic的方式是

zs.list_all_templates()
zs.get_cell(1,1)

无需中间分组,可读性更强。

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