zoukankan      html  css  js  c++  java
  • day 27

    今日内容:

    关于面向对象的一些内置方法

    1、__str__:在对象被打印时自动触发,可用来定义对象被打印。

    注意:返回必须是一个字符串类型的值

    ###############################

    class Foo:
    def __init__(self,name,age):
    self.name = name
    self.age = age

    def __str__(self):
    return 'name:%s,age:%s'%(self.name,self.age)

    obj1 = Foo('lay',37)
    print(obj1)

    ##################################

    2、__del__在对象被删除时先自动触发该方法,可以用来回收对象以外的其他相关资源,比如系统资源。

    #####################################

    class Foo:
    def __init__(self,name,age):
    self.name = name
    self.age = age
    self.f = open(r'a.test','r',encoding='utf-8')

    def __del__(self):
    self.f.close()
    print('文件已关闭')

    obj1 = Foo('lay',37)
    print(obj1)

    #####################################

    3、hasattr(对象,属性):判断这个属性是否在这个对象内,存在返回True,不存在返回False

    4、setattr(对象,属性,属性值):为这个对象创建一个属性

    5、getattr(对象,属性,如果属性不存在设置返回值):照看这个对象的属性的属性值,不存在就返回设置的返回值,不设置返回值则报错

    6、isinstance(对象,类名)判断这个对象是不是从这个类中产生的,是返回True,不是True

    7、issubclass(类名1,类名2):判断类名1是否继承于类名2,是返回True,不是True

    #############################################################

    class Foo:
    def __init__(self,name,age):
    self.name = name
    self.age =age
    class Bar(Foo):
    pass

    obj1 = Foo('yxf',18)
    print(hasattr(obj1,'sex'))
    print(setattr(obj1,'sex','male'))
    print(obj1.__dict__)
    print(getattr(obj1,'age',None))
    delattr(obj1,'sex')
    print(obj1.__dict__)
    print(isinstance(obj1,Foo))
    print(issubclass(Bar,Foo))

    #############################################################

  • 相关阅读:
    [Redis-CentOS7]Redis设置连接密码(九)
    [Redis-CentOS7]Redis数据持久化(八)
    PAT Advanced 1101 Quick Sort (25分)
    PAT Advanced 1043 Is It a Binary Search Tree (25分)
    HTTP协议
    PAT Advanced 1031 Hello World for U (20分)
    自然码双拼快速记忆方案
    macOS 原生输入法设置自然码
    PAT Advanced 1086 Tree Traversals Again (25分)
    PAT Advanced 1050 String Subtraction (20分)
  • 原文地址:https://www.cnblogs.com/yaoxiaofeng/p/9526172.html
Copyright © 2011-2022 走看看