Python类(五)-反射】的更多相关文章

反射即通过字符串映射或修改程序运行时的状态.属性.方法 有4个方法: hasattr(): hasattr(object,string):object为实例化的对象,string为字符串 判断对象object里是否有对应字符串string的方法或属性,返回布尔型 # -*- coding:utf-8 -*- __author__ = "MuT6 Sch01aR" class Person(object): def __init__(self,name): self.name = nam…
类反射的四个基本函数 hasattr getattr setattr delattr #反射 class BlackMedium: feature = 'Ugly' def __init__(self,name, addr): self.name = name self.addr = addr def sell_house(self): print('[%s]正在卖房子,xx才买呢'%self.name) def rent_house(self): print('[%s]正在卖房子,xx才租呢'…
曾经,博主的房东养了只金毛叫奶茶,今天就拿它当议题好了. 博主写本文时正在被广州的蚊子围攻. #反射练习 class animal(object): def __init__(self,name,fool): self.name = name self.fool = fool def dog(self): print("This is %s,it's a dog.it eat %s"%(self.name,self.fool)) d = animal("奶茶",&q…
反射 通过字符串映射或者修改程序运行时的状态.属性.方法, 有一下4个方法 小例子--根据用户输入调用方法: class Dog(object): def __init__(self,name): self.name = name def eat(self): print("%s is eating..",self.name) d= Dog('二哈') choice = input(">>:").strip() d.choice() =========执…
python中的反射功能是由以下四个内置函数提供:hasattr.getattr.setattr.delattr,改四个函数分别用于对对象内部执行:检查是否含有某成员.获取成员.设置成员.删除成员. import sys class WebServer(object): def __init__(self, host, port): self.host = host self.port = port def start(self): print("Server is starting....&q…
1 什么是反射?以及应用场景? test.py def f1(): print('f1') def f2(): print('f2') def f3(): print('f3') def f4(): print('f4') a = 1 import test as ss ss.f1() ss.f2() print(ss.a) 我们要导入另外一个模块,可以使用import.现在有这样的需求,我动态输入一个模块名,可以随时访问到导入模块中的方法或者变量,怎么做呢? imp = input(“请输入你…
1)反射是通过字符串方式映射内存中的对象. python中的反射功能是由以下四个内置函数提供:hasattr.getattr.setattr.delattr, 改四个函数分别用于对对象内部执行:检查是否含有某成员.获取成员.设置成员.删除成员.  注意:类的反射不能使用类的私有方法 # -*- coding:utf-8 -*- __author__ = 'shisanjun' class Foo(object): def __init__(self): self.name="s" de…
一.isinstance和issubclass isinstance(obj,cls)检查是否obj是否是类 cls 的对象 issubclass(sub, super)检查sub类是否是 super 类的派生类 class Foo: pass class Bar(Foo): pass f = Foo() b = Bar() print(isinstance(f,Foo)) print(issubclass(Bar,Foo)) print(isinstance(Bar,Foo)) print(i…
类的进阶 一 isinstance(obj,cls)和issubclass(sub,super) class Foo: def __init__(self,name): self.name = name obj = Foo("egon") print(isinstance(obj,Foo)) l = list([1,2,3]) print(isinstance(l,list)) -----------------结果----------- True True isinstance(ob…
一 反射 python中的反射功能是由以下四个内置函数提供:hasattr.getattr.setattr.delattr,改四个函数分别用于对对象内部执行:检查是否含有某成员.获取成员.设置成员.删除成员. 反射: 通过字符串的形式导入模块 通过字符串的形式,去模块中寻找指定的函数,并执行 __import__(字符串) 将字符串作为模块名导入 赋值的话就相当于 as 反射: 根据字符串的形式取某个模块中寻找东西 根据字符串的形式取某个模块中判断东西是否存在 根据字符串的形式去某个模中设置东西…