条件定义类变量:下述代码是否符合Python风格?
这段Python代码是否符合Python风格?
这段代码是合法的Python语法,但从Python的通用风格(遵循PEP8)来看,不算常规的、符合最佳实践的写法。
- 类属性的常规定义方式是直接在类体内赋值,无需额外的条件语句包裹,除非这个条件是带有实际业务逻辑的动态判断(而非示例里
if True这种恒成立的无意义条件)。 - 如果确实需要根据条件动态设置类属性,更清晰的写法是把赋值逻辑放在类定义之外,或者借助类方法、元类实现,可读性会更强。比如:
class A(): pass if True: A.x = 10 print(A.x)
- 要是你的插件架构里有动态生成类属性的刚需,且条件判断是必要的业务逻辑,这种写法并非完全不可用,但一定要给条件加上注释说明逻辑背景,避免其他开发者理解困惑。
内容的提问来源于stack exchange,提问作者Dante
相关产品推荐
相关产品推荐

