day 27-1 反射、内置方法】的更多相关文章

''' 1什么是多态 多态指的是同一种/类事物的不同形态 2 为何要有多态 多态性:在多态的背景下,可以在不用考虑对象具体类型的前提下而直接使用对象 多态性的精髓:统一 多态性的好处: 1增加了程序的灵活性: 以不变应万变,不论对象千变万化,使用者都是同一种形式去调用 2增加了程序可扩展性 继承一个Animal类创建一个新的类,使用者无需更改自己的代码,还是用原来的方式调用 3 如何用多态 ''' ''' class Animal: def speak(self): pass class Peo…
补充内置函数 isinstance(obj,Foo)   # 判断obj是不是foo的实例 issubclass()      # 判断一个类是不是另一个类的子类 反射 什么是反射? 通过字符串来操作类或者对象的属性 怎么用? hasattr(adj,’xxx’) 判断adj有没有’xxx’属性 getattr(adj,’xxx’,None) adj有’xxx’就返回adj.xxx,没有则返回None,若不指定第三个                                 参数,没有则会…
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…
一.静态方法(staticmethod)和类方法(classmethod) 类方法:有个默认参数cls,并且可以直接用类名去调用,可以与类属性交互(也就是可以使用类属性) 静态方法:让类里的方法直接被类调用,就像正常调用函数一样 类方法和静态方法的相同点:都可以直接被类调用,不需要实例化 类方法和静态方法的不同点: 类方法必须有一个cls参数表示这个类,可以使用类属性 静态方法不需要参数 绑定方法:分为普通方法和类方法 普通方法:默认有一个self对象传进来,并且只能被对象调用-------绑定…
面向对象进阶博客地址链接: http://www.cnblogs.com/Eva-J/articles/7351812.html 复习昨日内容: # 包 # 开发规范 # # hashlib # 登录验证 密文密码检测 # 密文存储 # 加盐 # 动态加盐 # 检测文件一致性 md5 #MD5.update() # configparser : 配置文件相关 #网络编程 ftp #[section1] #o1 = yes # logging : 日志 #记录一些信息和结果 #打日志 #日志就和p…
1.反射 用字符串来操作类或者对象的属性 class People:# country= 'china'# def __init__(self,name):# self.name= name## def eat(self):# print('%s is eating'%(self.name))# peo1= People ('qqc') (1)hasattr print(hasattr(peo1,'name')) #判断name是否在peo1.name中是可以访问的属性 (2)getarrt p…
反射的概念 可以用字符串的方式去访问对象的属性,调用对象的方法(但是不能去访问方法),Python 中一切皆对象,都可以使用反射. 反射有四种方法: hasattr:hasattr(object, name)判断一个对象是否有 name 属性或者 name 方法.有就返回 True,没有就返回 False getattr:获取对象的属性或者方法,如果存在则打印出来.hasattr 和 getattr 配套使用 需要注意的是,如果返回的是对象的方法,返回出来的是对象的内存地址,如果需要运行这个方法…
一.反射:用字符串数据类型的变量名来访问这个变量的值 上代码^_^ # class Student: # ROLE = 'STUDENT' # @classmethod # def check_course(cls): # print('查看课程了') # # @staticmethod # def login(): # print('登录') # # 反射查看属性# # print(Student.ROLE)#普通方法# # print(getattr(Student,'ROLE'))## #…
内容: 1.接口思想 2.抽象类思想 3.多态 4.内置方法 5.反射 1.接口思想 建立关联的桥梁,方便管理代码 接口类:用来定义功能的类,位继承它的子类提供功能 该类的功能方法一般不需要实现体,实现体由继承它的子类自己实现 2. 抽象类思想 抽象父类:拥有抽象方法(子类共有的方法,但是父类不能有具体的实现体)的父类 抽象方法:方法名是具体的,但实现体是抽象的(在子类中重写来具象化) 3. 多态 3.1 什么是多态 多态指的是同一种/类事物的不同形态 3.2 为何要用多态 多态性:在多态的背景…
一. 反射 1. isinstance()和issubclass() isinstance( 对象名, 类名) : 判断对象所属关系,包括父类  (注:type(对象名) is 类名 : 判断对象所属关系,只包括当前的类.) issubclass(类名, 类名) : 判断类与类之间的继承关系 class A: pass class B(A): pass b = B() print(isinstance(b, B)) # True 判断对象b是否属于B类 print(isinstance(b, A…