Python笔记2—魔术方法

    科技2023-09-28  88

    魔术方法

    __init__方法:在上一篇中学习过了

    __str__方法:

    class peole: def __init__(self,name,age,pro): self.name=name self.age=age self.pro=pro print('init函数初始化') pass # def aihao(self): # print('{}{}了,读{}专业'.format(self.name,self.age,self.pro)) # pass def __str__(self): ''' 打印对象 自定义对象 是内容格式 :return: ''' return '{}{}了,读{}专业'.format(self.name,self.age,self.pro) pass def __new__(cls, *args, **kwargs): ''' 创建对象实例的方法 每调用一次 就会生成一个新的对象 cls 就是class的缩写 场景:可以控制创建对象的一些属性限定 经常用来做单例模式的时候来使用 :param args: :param kwargs: ''' print('new函数的缩写') return object.__new__(cls) # 这里是真正创建对象实例的 pass xm=peole('小明','20','电子信息工程') print(xm)

    小结:

    # __new__和__init__函数的区别 # __new__类的实例化方法,必须要返回该实例,否则对象就创建不成功 # init 用来做数据属性的初始化工作,也可以认为是实例的构造方法,接受类的实例 self对其进行构造 # new 有一个参数是cls 代表要实例化的类,此参数在实例化时由python解释器提供 # new 函数执行要早于 __init__函数

    Processed: 0.010, SQL: 8