Python-18-类的内置属性】的更多相关文章

主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省),有四个可以实现自省函数. hasattr(object,name) 判断object中是否有name字符串对应的属性或方法,返回True或False getattr(object,name[,defaultreturn])获取object中name字符串对应属性的值,没有这个属性的话会报错,defaultreturn表示如果没有对应的属性返回默认的设定值而不会报错 setattr(object,key,value)表示修改obj…
类的内置方法(魔法方法): 凡是在类内部定义,以__开头__结尾的方法,都是类的内置方法,也称之为魔法方法. 类的内置方法,会在某种条件满足下自动触发. 内置方法如下: __new__: 在__init__触发前,自动触发. 调用该类时,内部会通过__new__产生一个新的对象. __init__: 在调用类时自动触发. 通过产生的对象自动调用__init__() class Demo(object): # 条件: __new__: 在__init__触发前,自动触发. def __new__(…
双下划线开头的attr方法,都是类内置的方法. 一. 如果没有在类里定义这三个方法,调用的时候就调用类内置的默认的方法 class Too: pass # 类没有定义这三个属性,就用系统默认的方法 t1 = Too() print(t1.x) # 只有在属性不存在时, 会自动触发__getattr__ # AttributeError: 'Too' object has no attribute 'x' del t1.x # 删除属性时会触发 __delattr__ # AttributeErr…
判断是不是类cls的对象 class A: pass a = A() print(isinstance(a,A)) 判断类sub是不是super的子类 class A: pass class B(A): pass print(issubclass(B,A)) __str__ #调用str(obj)其实内部就是在调用__str__ #obect内置有一个__str__,调用时,返回调用该方法的对象的内存地址 class A: def __str__(self): return 'This is c…
#isinstance(obj,cls)判断obj是否是类cls的实例 #issubclass(cls,cls1)判断cls是否是cls1的子类或派生类 class Foo: pass class Bar(Foo): pass print(issubclass(Bar,Foo))#检查sub类是否是super类的派生类 f1=Foo() print(isinstance(f1,Foo))#检查是否obj是否是类cls对象 #自定义格式化的format方法 x='{0}{0}{0}'.format…
#isinstance(obj,cls)判断obj是否是类cls的实例 #issubclass(cls,cls1)判断cls是否是cls1的子类或派生类 class Foo: pass class Bar(Foo): pass print(issubclass(Bar,Foo))#检查sub类是否是super类的派生类 f1=Foo() print(isinstance(f1,Foo))#检查是否obj是否是类cls对象 #自定义格式化的format方法 x='{0}{0}{0}'.format…
本文主要总结一下python正则的一些内置属性的用法. 1. 编译标志:flags 首先来看一下re.findall函数的函数原型: import re print('[Output]') print help(re.findall) [Output] Help on function findall in module re: findall(pattern, string, flags=0) Return a list of all non-overlapping matches in th…
今日临时总结的内容,可能还有些不正确的地方,初步当做个速查表吧. 类的内置函数(继承object的,自己重写) 内置函数 执行时机 注意点 调用案例 __init__ 实例化对象时 不允许写返回值(return None和不返回没区别)子类重写了__init__()方法要在子类中的__init__()方法调用父类的__init__方法(super(当前类, self).__init__(参数)) stu = Student() __new__ 类实例化被调用时 stu = Studetn() _…
二十六. Python基础(26)--类的内置特殊属性和方法 ● 知识框架 ● 类的内置方法/魔法方法案例1: 单例设计模式 # 类的魔法方法 # 案例1: 单例设计模式 class Teacher:             #创建一个老师类     __isinstance = None     #创建一个私有静态变量, 准备用来指向一个裸着的对象     def __new__(cls, *args, **kwargs): #创建一个裸着的对象         if not cls.__is…
终于介绍完了__init__方法和__new__方法,接下来轻松一下,本节介绍类中内置的__bases__属性. 一. 语法释义 Python 为所有类都提供了一个 bases 属性,通过该属性可以查看该类的所有直接父类,该属性返回所有直接父类组成的元组.注意是直接父类!!! 使用语法:类名.bases 二. 举例说明 举例:定义三个类Vehicle(车).Automobile(汽车).Car(小汽车),为了说明问题,将Car设置为继承自Vehicle和Automobile两个类,而Automo…