zoukankan      html  css  js  c++  java
  • 内置方法

    常用的内置方法就两个

    1.__str_

    改变对象的字符串显示

    class Foo:
        def __init__(self,name):
            self.name = name
        def __repr__(self):
            return 'obj in str'  #这里只能是return
        # def __str__(self):
        #     return '%s obj in str'%self.name
    f = Foo('egon')
    print(f)  #优先执行__str__里面的内容
    # 那么你是不是据地__repr__没用呢?
    # print('%s'%f)  #执行的是__str__里面的返回值
    # print('%r'%f)  #执行的是__repr__里面的返回值
    print('==============')
    print(str(f))  #当执行str(f)时,会去找__str__这个方法,如果找不到的时候,__repr__这个方法就给替补了
    print(repr(f))
    #1.当打印一个对象的时候,如果实现了__str__方法,打印__str__中的返回值
    # 2.当__str__没有被实现的时候,就会调用__repr__方法
    # 3.但是当你用字符串格式化的时候,%s和%r会分别调用__str__和__repr__方法
    # 4.不管是在字符串格式化的时候还是在打印对象的时候,
    # __repr__方法都可以作为__str__方法的替补,但反之则不行
    # 5.用于友好的表示对象。如果__str__和__repr__方法你只能实现一个:先实现__repr__
    
     #__str__和__repr__
    __str__和__repr__

     2.__del__

    析构方法,当对象在内存中被释放时,自动触发执行。

    注:此方法一般无须定义,因为Python是一门高级语言,程序员在使用时无需关心内存的分配和释放,因为此工作都是交给Python解释器来执行,所以,析构函数的调用是由解释器在进行垃圾回收时自动触发执行的。

    3.参考地址

    http://www.cnblogs.com/linhaifeng/articles/6204014.html

    http://www.cnblogs.com/haiyan123/p/7375772.html

    http://www.cnblogs.com/linhaifeng/articles/7341318.html

    http://www.cnblogs.com/linhaifeng/articles/7341177.html

  • 相关阅读:
    三层框架(原始版)
    Java虚拟机之内存区域
    JDK和JRE的区别
    cookie和session区别与联系
    DAO、Service、Controller及View层级结构梳理
    JavaWeb-四大域对象复习
    Mybatis-实现逆向代理
    Springboot-实现热部署
    排序算法-冒泡排序
    【ERROR 1064 (42000)】MySQL中使用mysqladmin或set修改root密码时提示语法错误
  • 原文地址:https://www.cnblogs.com/zhaojingyu/p/9057931.html
Copyright © 2011-2022 走看看