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

  • 相关阅读:
    Linq调试实时输出信息扩展方法(摘抄)
    RSA签名和验证数据
    Vue+abp微信扫码登录
    vue学习笔记4
    icon共享网站 可以获得wpf里用的Geometry
    wpf 父控件和子控件 各自触发鼠标按下事件
    C# Timespan Tostring 时分秒格式
    新公司第二天
    C# 反转单向链表
    经纬度转数字经纬度时,如果是负数
  • 原文地址:https://www.cnblogs.com/zhaojingyu/p/9057931.html
Copyright © 2011-2022 走看看