所学内容 反射 1.hasattr ( 判断一个属性在对象里有没有 ) -------------------- [对象,字符串属性]本质是:# 判断 ' name ' in obj.__dict__ 2.getattr ( 获取对象中字符串的属性 ) --------------------------- [对象,第三参数,字符串属性]本质是:# 从一个字典 obj.__dict__ [ ' name ' ] 3.setattr ( 一个属性的赋值操作 ( 设置值,修改值 ) )-------…
一. 反射 ''' # isinstance class A:pass class B(A):pass a = A() print(isinstance(a,A)) # 判断对象和类的关系 print(issubclass(B,A)) # 判断子类和父类的关系 print(issubclass(A,B)) ''' #--------------------------------------------------------------------------------# # # 反射:是用…
反射 反射是通过'字符串'对 对象的属性进行操作,反射有四个内置的方法. hasattr 通过字符串 判断对象的属性或者方法是否存在 getattr 通过字符串  获取对象的属性或者方法               getattr (  ref  ,   'z'  ,    '没有值')  可以设置返回值,防止报错 setattr 通过字符串   设置对象的属性或者方法 delattr 通过字符串  删除对象的属性或者方法 # _*_ coding: gbk _*_ # @Author: Won…
内容梗概: 1. isinstance, type, issubclass 2. 区分函数和方法 3. 反射(重点) 4. md5加密 1. isinstance, type, issubclass1.1 issubclass() 这个内置函数可以帮我们判断xxx类是否是yyy类型的子类.class Base: passclass Foo(Base): passclass Bar(Foo): passprint(issubclass(Bar,Foo)) #Trueprint(issubclass…
面向对象进阶博客地址链接: http://www.cnblogs.com/Eva-J/articles/7351812.html 复习昨日内容: # 包 # 开发规范 # # hashlib # 登录验证 密文密码检测 # 密文存储 # 加盐 # 动态加盐 # 检测文件一致性 md5 #MD5.update() # configparser : 配置文件相关 #网络编程 ftp #[section1] #o1 = yes # logging : 日志 #记录一些信息和结果 #打日志 #日志就和p…
isinstance与issubclass issubclass:判断子类是否属于父类,是则返回True,否则返回False isinstance:判断对象是否属于类,是则返回True,否则返回False class Bar: pass class Foo(Bar): pass print(issubclass(Foo,Bar))#输出一个True obj=Foo() print(isinstance(obj,Foo))#输出一个True 反射 反射:通过字符串来反射/映射到对象/类的属性上 c…
一.isinstance与issubclass方法 1.isinstance是用来判断对象是否是某个类 isinstance(obj,class) 2.issubclass是用来判断一个类是否为另一个类的子类 issubclass(Bar,Foo) class Foo: pass class Bar(Foo): pass obj = Foo() print(isinstance(obj, Foo)) # True print(issubclass(Bar, Foo)) # True isinst…
目录 绑定方法与非绑定方法 1.绑定方法 2.非绑定方法(staticmethod) isinstance和issubclass 内置函数 1.isinstance 2.issubclass 反射(面向对象高阶) 反射定义 4个可以实现反省的函数(内置函数) 反射使用场景 绑定方法与非绑定方法 1.绑定方法 ​ 绑定方法:绑定给谁就应该由谁来调用,谁来调用就会将谁当做第一个参数传入 ​ ​ 绑定给对象的方法: ​ 类中定义的函数默认就是绑定给对象的 ​ 绑定给类的方法: ​ 为类中定义的函数加上…
isinstance与issubclass.反射.内置方法 一.isinstance与issubclass方法 1.isinstance是用来判断对象是否是某个类 isinstance(obj,class) 2.issubclass是用来判断一个类是否为另一个类的子类 issubclass(Bar,Foo) class Foo: pass class Bar(Foo): pass obj = Foo() print(isinstance(obj, Foo)) # True print(issub…
''' 1什么是多态 多态指的是同一种/类事物的不同形态 2 为何要有多态 多态性:在多态的背景下,可以在不用考虑对象具体类型的前提下而直接使用对象 多态性的精髓:统一 多态性的好处: 1增加了程序的灵活性: 以不变应万变,不论对象千变万化,使用者都是同一种形式去调用 2增加了程序可扩展性 继承一个Animal类创建一个新的类,使用者无需更改自己的代码,还是用原来的方式调用 3 如何用多态 ''' ''' class Animal: def speak(self): pass class Peo…