面向对象super内置函数(转)】的更多相关文章

super函数用来解决钻石继承. 一.python的继承以及调用父类成员 父类: class Base(object): def __init__(self): print("base init.") 普通方法调用父类: class Leaf(Base): def __init__(self): Base.__init__(self) print("Leaf init.") super方法调用父类: class Leaf(Base): def __init__(se…
先来看一段代码: 定义一个名叫People的父类,又定义了一个叫Teacher的老师类和一个叫Student的学生类 来继承People的类,并根据这两个子类实例化出两个对象s1和t1. class Date: def __init__(self,year,mon,day): self.year=year self.mon=mon self.day=day def birth_info(self): print("The birth is %s-%s-%s"%(self.year,se…
__new__方法: 我们来讲个非常非常重要的内置函数和init一样重要__new__其实在实例话对象的开始  是先继承父类中的new方法再执行init的  就好比你生孩子 先要把孩子生出来才能对孩子穿衣服的  new就是生孩子 init是给孩子穿衣服 new()是在新式类中新出现的方法,它作用在构造方法init()建造实例之前,可以这么理解,在Python 中存在于类里面的构造方法init()负责将类的实例化,而在init()调用之前,new()决定是否要使用该init()方法,因为new()…
property 将方法伪装成为属性,可以不用加上()就可以调出其属性. 但是用__dict__,不能调出此属性 from math import pi class Circle: def __init__(self,r): self.r = r @property def perimeter(self): return 2*pi*self.r @property def area(self): return self.r**2*pi c1 = Circle(5) print(c1.area)…
内容概要 组合 反射 面向对象的内置函数 异常 内容详细 一.组合 组合:在对象中定义一个属性,属性的值是另一个对象 除了继承父类的方法,这是获取另一个类中属性的另一种方式 如果想给学生对象添加课程属性: 1.直接把课程信息在调用阶段传入的话所需要的实参太多了,而且学生对象多需要不断重复传入 2.把课程信息放在People类里面的__init__初始化会给人的类添加了不属于它的课程属性 3.创建课程类,直接把课程类当作Student类的父类,不符合类的特性:学生不是课程类 所以解决以上方法,可以…
面向对象中内置函数 issubclass方法: 检查第一个参数是否是第二个参数的子子孙孙类     返回  :   是一个布尔值 class Base(object): pass class Foo(Base): pass class Bar(Foo): pass print(issubclass(Bar,Base)) # 检查第一个参数是否是第二个参数的子子孙孙类 type: 方法 获取当前对象是由那个类创建      返回:  类的类型 ,  if判断是否等于某个类   class Foo(…
知识内容: 1.python内置函数简介 2.python内置函数详细介绍 一.python内置函数简介 python中有很多内置函数,实现了一些基本功能,内置函数的官方介绍文档:    https://docs.python.org/3.6/library/functions.html 内置函数是不需要调用任何模块,可以直接在python代码中直接调用的函数 二.python常见内置函数详细介绍 1.数学运算 abs:求数值的绝对值 divmod:返回两个数值的商和余数 max:返回可迭代对象…
yield的表达式形式 def init(func): def wrapper(*args, **kwargs): g = func(*args, **kwargs) next(g) return g return wrapper @init #foo=init(foo) def foo(): print('starting') while True: print('value : ', x) g = foo() #wrapper() g.send() 结果: starting value :…
面向对象进阶博客地址链接: http://www.cnblogs.com/Eva-J/articles/7351812.html 复习昨日内容: # 包 # 开发规范 # # hashlib # 登录验证 密文密码检测 # 密文存储 # 加盐 # 动态加盐 # 检测文件一致性 md5 #MD5.update() # configparser : 配置文件相关 #网络编程 ftp #[section1] #o1 = yes # logging : 日志 #记录一些信息和结果 #打日志 #日志就和p…
内置函数 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(代码,文件,执行模…