python基础--面向对象-初始化方法__init__,__del__方法和__str__方法

__init__

class Cat:
    # __init__是对象的内置方法,初始化方法
    # 是专门用来定义一个类具有哪些属性的方法
    def __init__(self, new_name):
        print("这是一个初始化方法")

        # self.属性名 = 属性的初始值
        # self.name = "Tom"
        # 初始化的同时设置初始值
        self.name = new_name

    def eat(self):
        print("%s 爱吃鱼" % self.name)
# 使用类名()创建对象的时候,会自动调用初始化方法__init__
tom = Cat("tom")
print(tom.name)
lazy_cat = Cat("tomtom")
lazy_cat.eat()
  • 输出:
这是一个初始化方法
tom
这是一个初始化方法
tomtom 爱吃鱼

__del__

class Cat:
    def __init__(self, new_name):
        self.name = new_name
        print("%s 来了" % self.name)

    def __del__(self):
        print("%s 我去了" % self.name)
# tom是一个全局变量
tom = Cat("Tom")
print(tom.name)

# del 关键字可以删除一个对象
# 先执行del方法,执行完之后再执行分割符操作
# 不使用del方法时,分割符在tom 我去了之前打印
del tom

print("-"*50)
# 一个对象的__del__方法一旦被调用,生命周期结束
# 如果希望在对象被销毁前再做一些事情,可以考虑用__del__
  • 输出
Tom 来了
Tom
Tom 我去了
--------------------------------------------------

__str__

class Cat:
    def __init__(self, new_name):
        self.name = new_name
        print("%s 来了" % self.name)

    def __del__(self):
        print("%s 我去了" % self.name)

    def __str__(self):
        # 必须返回一个字符串
        return "我是小猫[%s]" % self.name
# tom是一个全局变量
tom = Cat("Tom")
# 输出猫类地址(十六进制表示)
print(tom)
  • 输出
Tom 来了
我是小猫[Tom]
Tom 我去了
  • 总结:
  1. __init__是对象的 内置方法,初始化方法是专门用来定义一个类具有哪些属性的方法。
  2. 使用类名()创建对象的时候,会 自动调用 初始化方法__init__
  3. del 关键字可以 删除 一个 对象
  4. 一个对象的__del__方法一旦被调用,生命周期结束。
  5. 如果希望在对象被销毁前再做一些事情,可以考虑用__del__
  6. __str__方法 必须 返回一个字符串。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值