zoukankan      html  css  js  c++  java
  • __init__、__str__、__del__方法

    1.def__init__()方法:

    class Cat:
    """定义了一个Cat类"""

    #初始化对象
    def __init__(self, new_name, new_age):
    self.name = new_name
    self.age = new_age

    #方法
    def eat(self):
    print("猫在吃鱼....")

    def drink(self):
    print("猫正在喝kele.....")

    def introduce(self):
    print("%s的年龄是:%d"%(self.name, self.age))

    #创建一个对象
    tom = Cat("汤姆", 40)
    tom.eat()
    tom.drink()
    #tom.name = "汤姆"
    #tom.age = 40
    tom.introduce()

    lanmao = Cat("蓝猫", 10)
    #lanmao.name = "蓝猫"
    #lanmao.age = 10
    lanmao.introduce()

    2.def__str__()方法:
    str是显示给用户用的
    class Cat:
    """定义了一个Cat类"""

    #初始化对象
    def __init__(self, new_name, new_age):
    self.name = new_name
    self.age = new_age

    def __str__(self):
    return "%s的年龄是:%d"%(self.name, self.age)

    #方法
    def eat(self):
    print("猫在吃鱼....")

    def drink(self):
    print("猫正在喝kele.....")

    def introduce(self):
    print("%s的年龄是:%d"%(self.name, self.age))

    #创建一个对象
    tom = Cat("汤姆", 40)

    lanmao = Cat("蓝猫", 10)


    print(tom)
    print(lanmao)

    3.__del__()方法
    class Dog:

    def __del__(self):
    print("-----英雄over------")

    dog1 = Dog()
    dog2 = dog1

    del dog1#不会调用 __del__方法,因为这个对象 还有其他的变量指向它,即 引用计算不是0
    del dog2#此时会调用__del__方法,因为没有变量指向它了
    print("====================")

    #如果在程序结束时,有些对象还存在,那么python解释器会自动调用它们的__del__方法来完成清理工作



  • 相关阅读:
    6月16日
    9月15日
    9月14日
    9月13日
    9月12日
    6月11日
    梦断代码阅读笔记
    11周总结
    梦断代码阅读笔记
    10第一阶段意见评论
  • 原文地址:https://www.cnblogs.com/loser1949/p/9194026.html
Copyright © 2011-2022 走看看