组合&反射&面向对象内置函数】的更多相关文章

内容概要 组合 反射 面向对象的内置函数 异常 内容详细 一.组合 组合:在对象中定义一个属性,属性的值是另一个对象 除了继承父类的方法,这是获取另一个类中属性的另一种方式 如果想给学生对象添加课程属性: 1.直接把课程信息在调用阶段传入的话所需要的实参太多了,而且学生对象多需要不断重复传入 2.把课程信息放在People类里面的__init__初始化会给人的类添加了不属于它的课程属性 3.创建课程类,直接把课程类当作Student类的父类,不符合类的特性:学生不是课程类 所以解决以上方法,可以…
面向对象进阶博客地址链接: http://www.cnblogs.com/Eva-J/articles/7351812.html 复习昨日内容: # 包 # 开发规范 # # hashlib # 登录验证 密文密码检测 # 密文存储 # 加盐 # 动态加盐 # 检测文件一致性 md5 #MD5.update() # configparser : 配置文件相关 #网络编程 ftp #[section1] #o1 = yes # logging : 日志 #记录一些信息和结果 #打日志 #日志就和p…
一.反射 反射类中的变量 反射对象中的变量 反射模块中的变量 反射本文件中的变量 .定义:使用字符串数据类型的变量名 来获取这个变量的值 例如: name = 'xiaoming' print(name) # xiaoming print('name') # name 平时我们要想获取'xiaoming'这个值,要用name去获取,但是如果想用字符串'name' 获取这个值呢, 就需要用到反射. .反射应用的场景(就是把接收的字符串转换成变量的名字便于使用) ,input 用户输入的如果是a,那…
反射 反射主要用在网络编程中, python面向对象的反射:通过字符串的形式操作对象相关的属性.python的一切事物都是对象. 反射就是通过字符串的形式,导入模块:通过字符串的形式,去模块寻找指定函数,并执行.利用字符串的形式去对象(模块)中操作(查找/获取/删除/添加)成员,一种基于字符串的事件驱动! getattr() 查找getattr(object,name[,default]):使用字符串数据类型获取对象的方法和属性,注意name是字符串,如果存在则返回,不存在则打印出默认值,默认值…
# 一 python面向对象-内置函数(issubclass(), type(), isinstance()) # issubclass 判断xxxx类是否是xxxx类的子类 class egg: pass class eegg(egg): pass class yuneegg(eegg): pass dan = egg() edan = eegg() shouyunedan = yuneegg() print(issubclass(eegg, egg)) # True 鹅蛋继承蛋的属性,是子类…
面向对象中内置函数 issubclass方法: 检查第一个参数是否是第二个参数的子子孙孙类     返回  :   是一个布尔值 class Base(object): pass class Foo(Base): pass class Bar(Foo): pass print(issubclass(Bar,Base)) # 检查第一个参数是否是第二个参数的子子孙孙类 type: 方法 获取当前对象是由那个类创建      返回:  类的类型 ,  if判断是否等于某个类   class Foo(…
内置函数 eval和exec eval :执行字符串中的代码并将结果返回给执行者,有返回值 exec:执行字符串中的代码,往往用于执行流程语句,没有返回值. s1 = '1+2' s2 = 'print(666)' print(eval(s1)) eval(s2) print(exec(s1)) exec(s2) 3 666 None 666 compile()  python是编译型语言, compile可以预加载(编译)一些代码.只能部分提升代码的运行效率 compile(代码,文件,执行模…
一.内置函数补充 1.isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo(object): pass obj = Foo() print(isinstance(obj, Foo)) #结果为True 2.issubclass(sub, super)检查sub类是否是 super 类的派生类 class Foo(object): pass class Bar(Foo): pass print(issubclass(Bar, Foo)) #结果为True…
封装 隐藏对象的属性和实现细节,近对外提供公共访问方式 广义:代码保护,面向对象思想 狭义:将属性,方法隐藏起来 class Person: __key = 123456 # 私有的静态属性 def __init__(self,name,passwd): self.name = name self.__passwd = passwd # 私有的属性 def __test(self): # 私有方法 print(self.__dict__) print('私有方法内部调用') ## 只要在类的内部…
[TOC] 一.反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发了计算机科学领域关于应用反射性的研究.它首先被程序语言的设计领域所采用,并在Lisp和面向对象方面取得了成绩.即面向对象中自己检测自己有没有某种方法或者属性 反射的四个函数 1.hasattr(object,name) 判断对象/类/模块中是否有某种属性或者方法,注意第二个参数是字符串 该函数返回的是,存在返回True,不存在返回Fals…