python构造函数
2022/6/27 1:21:54
本文主要是介绍python构造函数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一个class只能有一个用于构造对象的__init__函数
但python中的变量是无类型的,因此传给__init__的参数可以是任何类
python中的函数参数在定义时可以有默认值,可以让__init__函数接受多个参数,在后面的一些参数给出默认值的方法让__init__接受不同个数的参数,并且执行类型检查执行不同的代码,用上述方法实现类的构造函数的多态性
代码如下:
1 import time 2 3 4 class Date: 5 # 主构造函数 6 def __init__(self, year, month, day): 7 self.year = year 8 self.month = month 9 self.day = day 10 11 # 可选构造函数 12 @classmethod 13 def today(cls): 14 t = time.localtime() 15 return cls(t.tm_year, t.tm_mon, t.tm_mday) 16 17 18 if __name__ == '__main__': 19 a = Date(2002, 6, 1) 20 print(a.year, a.month, a.day) 21 b = Date.today() 22 print(b.year, b.month)
在继承中,如果子类没有重写父类的方法,当调用该方法的时候,会调用父类的方法,当子类重写了父类的方法,默认是调用自身的方法。
另外,如果子类Son重写了父类Father的方法,如果想调用父类的方法,可以利用super()
如果父类的方法是私有方法,如 def __action(self) 这样的话再去调用就提示没有这个方法,其实编译器是把这个方法的名字改成了 _Father__action()
如果自己也定义了 __init__ 方法,那么父类的属性是不能直接调用的,需要在子类的 __init__中调用一下父类的 __init__ 方法,这样就可以调用了
这篇关于python构造函数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门