标签:反射 toc assm title ssm 布尔值 try list @class
目录
classmethod是python自带的装饰器
装饰定义在类中的函数,使这个函数变成类的绑定方法,我们都知道对象的绑定方法的特殊之处在于,它会把对象当作第一个参数传入,而类的绑定方法与此相似,它会把对象当第一个参数传入。
class Test:
@classmethod
def call(cls):
pass
与classmethod相同,它也是一种python自带的装饰器
装饰定义在类内部的函数,使这个函数既不是类的绑定方法,也不是对象的绑定方法
class Test:
@staticmethod
def call():
pass
python的内置函数,用于判断一个对象是否是一个类的实例,该函数有两个参数,需要传个对象和一个类,返回一个布尔值
class Foo:
pass
foo = Foo()
print(isinstance(foo,Foo))
python 内置函数,用于判断一个类是否是另一个类的子类,该函数需要传两个类进去,返回一个布尔值
class Foo:
pass
class Goo(Foo):
pass
print(issubclass(Goo,Foo))
反射指的是通过字符串对对象或者类的属性进行操作
以下是几种常用的
通过字符串判断该字符串是否是对象或类的属性,有两个参数,类或对象和一个字符串,返回布尔值
class People:
country = 'China'
def __init__(self, name, age, sex):
self.name = name
self.age = age
self.sex = sex
p = People('lk',18,'male')
print(hasattr(p,'name'))
通过字符串获取对象或类的属性
print(getattr(p,'name'))
通过字符串,设置对象或类的属性
setattr(p,'name','ll')
通过字符串,删除对象或类的属性
delattr(p,'name')
凡是在类内部定义,以“__ 开头 __结尾”的方法都称之为魔法方法,又称“类的内置方法”。魔法方法会在某些条件成立时触发
__ init __ : 在调用类时触发。
__ str__ : 会在打印对象时触发。
__ del__ : 对象被销毁前执行该方法,该方法会在最后执行。
__ getattr__ : 会在对象.属性时,“属性没有”的情况下才会触发。
__ setattr__ : 会在 “对象.属性 = 属性值” 时触发。
__ call__ : 会在对象被调用时触发。
__ new__ : 会在__ init__执行前触发。
单例模式是指单个实例
单例模式可以让调用者多次调用这个类时指向同一个内存地址
可以减少内存地址的占用
标签:反射 toc assm title ssm 布尔值 try list @class
原文地址:https://www.cnblogs.com/lyyblog0715/p/11669208.html