面向对象【day08】:反射(五)】的更多相关文章

Python 面向对象之反射 TOC 什么是反射? hasattr getattr setattr delattr 哪些对象可以使用反射 反射的好处 例子一 例子二 什么是反射? 程序可以访问.检查和修改它本身的状态的行为的一种能力(自省) python中在面向对象中的反射:通过字符串的形式操作对象相关属性,就是通过字符串让对象自省自检是否有字符串表示的属性.python 反射提供hasattr/getattr/setattr/delattr hasattr hasattr(obj, 'stri…
一 classmethod class Classmethod_Demo(): role = 'dog' @classmethod def func(cls): print(cls.role) Classmethod_Demo.func() staticmethod class Staticmethod_Demo(): role = 'dog' @staticmethod def func(): print("当普通方法用") Staticmethod_Demo.func() clas…
面向对象之反射及内置方法 一.静态方法(staticmethod)和类方法(classmethod) 类方法:有个默认参数cls,并且可以直接用类名去调用,可以与类属性交互(也就是可以使用类属性) 静态方法:让类里的方法直接被类调用,就像正常调用函数一样 类方法和静态方法的相同点:都可以直接被类调用,不需要实例化 类方法和静态方法的不同点: 类方法必须有一个cls参数表示这个类,可以使用类属性 静态方法不需要参数 绑定方法:分为普通方法和类方法 普通方法:默认有一个self对象传进来,并且只能被…
面向对象之 反射,双下方法 1. 反射 计算机科学领域主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省) python面向对象中的反射:通过字符串的形式操作对象相关的属性.python中的一切事物都是对象(都可以使用反射) 主要适用于四种情况: 1.对对象的反射 class Foo: f = '类的静态变量' def __init__(self,name,age): self.name=name self.age=age def say_hi(self): print('hi,%…
在程序设计领域,SOLID 是由罗伯特·C·马丁在 21 世纪早期引入的记忆术首字母缩略字,指代了面向对象编程和面向对象设计的五个基本原则.当这些原则被一起应用时,它们使得一个程序员开发一个容易进行软件维护和扩展的系统变得更加可能.SOLID 是以下五个单词的缩写: Single Responsibility Principle(单一职责原则) Open Closed Principle(开闭原则) Liskov Substitution Principle(里氏替换原则) Interface…
Python中一切皆对象,在Python中的反射:通过字符串的形式操作对象的属性 hasattr  判断是否有改属性或者方法,有返回True,没有返回false getattr  如果是属性获得该属性的值,如果是方法获得该方法的内存地址 setattr delattr class Person: role = 'person' def __init__(self,name): self.name = name def walk(self): print("%s is walking"%…
一  反射 1.面向对象中的反射:通过字符串的形式操作对象的相关属性,python中一切事物都是属性(都可以使用反射) 四个可以实现自省<反射>的函数:hasattr /  getattr  / setattr  /delattr. class Teacher: school='oldboy' def __init__(self,name,age): self.name=name self.age=age def teach(self): print('%s teach'%self.name)…
面向对象进阶博客地址链接: http://www.cnblogs.com/Eva-J/articles/7351812.html 复习昨日内容: # 包 # 开发规范 # # hashlib # 登录验证 密文密码检测 # 密文存储 # 加盐 # 动态加盐 # 检测文件一致性 md5 #MD5.update() # configparser : 配置文件相关 #网络编程 ftp #[section1] #o1 = yes # logging : 日志 #记录一些信息和结果 #打日志 #日志就和p…
1.isinstance和issubclass issubclass(Son,Foo) 判断雷与类之间的是否有继承关系,接受两个参数,一个是疑似子类,一个是疑似父类,判断Son是否是Foo的子类 obj = 1 isinstance(obj,int) 判断obj是否是int类型,成人继承关系,更多的时判断对象与类之间的关系,结果判断包括这个类,也包括这个类的父类 type(obj) in int 判断obj是否是int类型,只是承认这个对象的类,不承认所有的继承关系  2.什么是反射 官方解释:…
技术在于交流.沟通,转载请注明出处并保持作品的完整性. 本节主要介绍一下类与类之间的关系,也就是面向对象编程先介绍两个术语 Object Oriented Programming   OOP面向对象编程 Object Oriented Design  OOD面向对象设计 对于类与类之间的关系有很多种,但是我认为理解3种足够 1.Inheritance (继承) 2.Composition (组合) 3.Delegation (委託)  该种关系也可以理解成聚合 一.组合 1.定义: has-a的…