zoukankan      html  css  js  c++  java
  • 自定义内置方法来定制类的功能

    1、__str__方法
    在对象被打印时,自动触发,应该在该方法内采集与对象self有关的信息,然后拼成字符串返回
    class People:
        def __init__(self,name,age):
            self.name=name
            self.age=age
    
        def __str__(self):
            print('======>')
            return '<name:%s age:%s>' %(self.name,self.age)
    obj=People('egon',18)
    obj1=People('alex',18)
    print(obj)  # obj.__str__() #  <name:egon age:18>
    print(obj.__str__()) # <name:egon age:18>
    # print(obj.act())  # <name:egon age:18>  __str__ 改成act也可以,比较麻烦,不能直接打印对象就触发
    print(obj1)  # obj1.__str__()  # <name:alex age:18>
    
    
    d = {'x': 1}  # d=dict({'x':1})
    print(d)  # dict 里有个__str__方法
    

    2. __del__析构方法

    __del__会在对象被删除之前自动触发

    class People:
        def __init__(self,name,age):
            self.name=name
            self.age=age
            self.f=open('a.txt','rt',encoding='utf-8')
    
        def __del__(self):
            # print('run=-====>')
            # 做回收系统资源相关的事情
            self.f.close()
    
    
    obj=People('egon',18)
    print('主')
    

      

     
     
  • 相关阅读:
    kafka中配置细节
    kafka原理
    storm中的基本概念
    Spring装配Bean的过程补充
    Spring装配Bean的过程
    java中被遗忘的native关键字
    水塘抽样
    js常用总结
    HttpServletResponse status对应的状态信息
    mongoDB常用命令总结
  • 原文地址:https://www.cnblogs.com/Roc-Atlantis/p/9247202.html
Copyright © 2011-2022 走看看