python init 和 new,python__init__什么意思
作用不同
1.__new__用于创建一个类并返回该类的一个实例,而__init__只是用传入的参数初始化实例。
__init__()初始化方法和__new__(),后者在通过类创建对象时自动触发执行。
概念不同
2.__new__()在创建对象时调用,这将返回当前对象的实例。
__init__()在对象创建后调用,当前对象的一些实例被初始化,没有返回值。
实例
#__init__,__new__
班级学生(对象):
def__init__(自己,姓名,年龄):
打印( __init__()已调用)
self.name=name
年龄=年龄
def__new__(cls,*args,**kwargs):
打印( __new__()called )
打印(cls,args,kwargs)
returnsuper()。__新__(cls)
#ipython测验
in[26]: S1=学生(‘惠’,年龄=21)
__new__()已调用
类“__main__”。学生(惠,){ 年龄 :21}
__init__()已调用
in[27]: S2=学生(杰克,年龄=20)
__new__()已调用
类“__main__”。学生(杰克,){ 年龄 :20}
__init__()上面说的是__init__和__new__在python中的对比。希望对你有帮助。更多python学习方向:Python基础课程
本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。