init_方法

init_方法:初始化一个类,在创建实例对象为其赋值时使用。

_str_方法:在将对象转换成字符串str(对象) 测试的时候,打印对象的信息。

class Cat:
“”“定义一个猫类”""
def init(self, name, age):
self.name = name
self.age = age
print(‘init函数执行’)
pass
def str(self): #
return “名字是:%s , 年龄是:%d” % (self.name, self.age)
pass
def new(cls, *args, **kwargs):
‘’’
创建对象实例的方法每调用 一次就会生成个新的对象 cls就是cLass的缩写
场景:可以控制创建对象的一些属性限定经常用来做单例模式的时候来使用
:param args:
:param kwargs:
‘’’
print(‘new函数执行’)
return object.new(cls) #这里是真正创建对象实例的 cls:表示当前类
tom = Cat(“汤姆”, 20) #返回一个在当前类 里面创建的object类型的实例化
print(tom)
#__new_和__init__雨数的区别
#__new__类的实例化方法必须要返回该实例否则对象就创建不成功
#__init__用来做数据属性的初始化工作也可以认为是实例的构造方法接受类的实例self并对其进行构造
#__new__至少有一个参数是cls代表要实例化的类,此参数在实例化时由python解释器自动提供
#__new__函数执行要早于__init__函数

  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值