纯文本书写Python函数名是否有类似Ruby的通用约定规范?
Python社区对应方法标记的通用约定
Python社区确实有成熟的通用表述约定,和Ruby的习惯相似度很高,具体可以分两类场景使用:
无歧义场景的通用写法
不需要刻意区分方法类型时,官方文档、社区讨论的主流习惯是统一使用 类名.方法名 格式:
- 字符串的实例方法
split写为str.split - 字典的类方法
fromkeys写为dict.fromkeys
简写时可以直接用.方法名指代对应方法。
需明确区分方法类型的场景
如果要避免实例方法、类方法/静态方法的歧义,社区有两套通用的约定:
- 借鉴Ruby的标记规则:和你提到的Ruby用法完全一致,用
Klass#foo特指实例方法,Klass.foo特指类方法/静态方法,简写时分别对应#foo和.foo,这种写法在代码仓库的issue、技术讨论帖中非常常见 - 语义化调用主体标记:直接用调用主体区分,比如
instance.foo指代实例方法,Klass.foo指代类方法/静态方法,可读性更强,不需要额外解释约定规则
两种约定都被Python社区广泛接受,没有强制统一标准,只要上下文提前明确使用的规则,就不会产生歧义。
内容的提问来源于stack exchange,提问作者Arepo
相关产品推荐
相关产品推荐

