python如何在一个类中定义多个构造函数

这篇文章将为大家详细讲解有关python如何在一个类中定义多个构造函数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联服务项目包括仪陇网站建设、仪陇网站制作、仪陇网页制作以及仪陇网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,仪陇网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到仪陇省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

在一个类中定义多个构造函数

函数重载是编程语言(不含 Python)中非常常见的功能。即使你不能重载正常的函数,你仍然可以使用类方法重载构造函数:

import datetime 
 
class Date: 
    def __init__(self, year, month, day): 
        self.year = year 
        self.month = month 
        self.day = day 
 
    @classmethod 
    def today(cls): 
        t = datetime.datetime.now() 
        return cls(t.year, t.month, t.day) 
 
d = Date.today() 
print(f"{d.day}/{d.month}/{d.year}") 
# 14/9/2019

你可能倾向于将替代构造函数的所有逻辑放入__init__,并使用*args 、**kwargs 和一堆 if 语句,而不是使用类方法来解决。那可能行得通,但是却变得难以阅读和维护。

因此,我建议将很少的逻辑放入__init__,并在单独的方法/构造函数中执行所有操作。这样,对于类的维护者和用户而言,得到的都是干净的代码。

关于“python如何在一个类中定义多个构造函数”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


分享名称:python如何在一个类中定义多个构造函数
网页链接:http://hbruida.cn/article/psgpoi.html