加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python __init__.py和类

发布时间:2020-12-16 23:46:35 所属栏目:Python 来源:网络整理
导读:在__init__.py文件中定义类是否被认为是不好的做法?我有一个类似于税收计算器的案例.我想要一个计算器类,然后是一组计算器类在内部引用的特定于州的税计算器类.就像是: class TaxCalculator(): def __init__(self): self.ca_tax_calculator = CATaxCalcula

在__init__.py文件中定义类是否被认为是不好的做法?我有一个类似于税收计算器的案例.我想要一个计算器类,然后是一组计算器类在内部引用的特定于州的税计算器类.就像是:

class TaxCalculator():

    def __init__(self):
        self.ca_tax_calculator = CATaxCalculator()
        self.ny_tax_calculator = NYTaxCalculator()

    def get_tax_calculator_for_state(self,state):
        tax_calculator = None
        if state == "CA":
            tax_calculator = self.ca_tax_calculator
        else:
            tax_calculator = self.ny_tax_calculator
        return tax_calculator

    def calculate(self,purchase_info):
        return self.get_tax_calculator_for_state(purchase_info.state).calculate(purchase_info.amount)

我正在考虑的目录结构如下所示:

/calculators/__init__.py
/calculators/ca.py
/calculators/ny.py

并且__init__.py包含了“TaxCalculator”功能.

课程将参考计算器,即:

from calculators import TaxCalculator

calculator = TaxCalculator().calculate(purchase_info)

这被认为是不好的做法还是没有真正的Pythonic?

最佳答案
通常,__ init__.py文件用于初始化包,例如导入内容,向路径添加位置,定义版本或使用__all__暴露内容,但通常它也是空的.
但是我建议你给它自己的文件更大的类/功能.它更易于维护.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读