python继承

python类的继承的两种方式写法

江枫思渺然 提交于 2019-11-29 05:55:27
class Animal(object): """docstring for Animal""" def __init__(self, name): self.name = name def run(self): print ('Animal is running...',self.name)class Dog(Animal): """docstring for Dog""" def __init__(self,name): # super(Dog, self).__init__(name) Animal.__init__(self,name) def printName(self): print ('Name: %s' % self.name)kk=Dog("kity")kk.printName()kk.run() 来源: https://www.cnblogs.com/bobo200/p/11457396.html

Python基础-9.3 继承

南笙酒味 提交于 2019-11-29 05:02:51
· 一个类继承另一个类时,自动获取另一个类的所有属性和方法;原有的类为父类,新类称为子类。子类继承父类的所有属性和方法,同时还可定义自己的属性和方法。 9.3.1 子类的方法 __inint__() 创建electric_car继承前面的Car类 class ElectricCar(Car): # 定义子类,需在括号里指定父类名称 """电动汽车的独特之处""" def __init__(self,make, model, year): """初始化父类属性""" super().__init__(make, model, year) # 调用父类的方法__init__,让ElectricCar包含父类的所有属性 my_electric_car = ElectricCar('bmw', 'mosel s', 2016) my_electric_car.get_descriptive_name() 9.3.2 Python2.7中的继承 1.函数super()需要两个实参:子类名和对象self。 2.在定义父类时在括号内指定object。 class Car(object): def __init__(self,make, model, year): --snip-- class ElectricCar(Car): def __init__(self, make, model,

Python学习之异常处理

可紊 提交于 2019-11-29 04:59:55
"""Error逻辑错误: 算法写错 加法写成减法笔误: 变量名写错了,语法错误函数或类使用错误, 其实这也属于逻辑错误错误可以避免""""""异常 Exception意外情况异常是可以捕获 并被处理,错误是不能捕获 错误尽可能避免异常类的继承BaseExceptionException是所有内建的、非系统退出的异常的基类 自定义异常应该继承它SyntaxError 语法异常ArithmeticError 所有算术计算引发的异常 LookupError 使用映射的键或索引的无效时引发的异常的基类:IndexError KeyError""" f= Nonetry: # 不会开辟新的作用域 f = open("te")except: passfinally: if f is not None: f.close()print("outer")print(dir()) # 收集当前模块的所有信息def foo(): try: 1/0 return 123 except: pass finally: return 567 print('fin')print("result={}".format(foo())) # 函数的返回值取决于最后一个执行的return语句 try: 1/0except ArithmeticError: print("Ari")except: print('exc'

学习python的第四天(类,继承)

北慕城南 提交于 2019-11-29 04:58:26
每日小酌:这世界上,最富有的人,是跌倒最多的人;最勇敢的人,是每次跌倒都能站起来的人;最成功的人,是那些每次跌倒,不单能站起来,还能够坚持走下去的人。 开始学习 类 定义类关键字 class init 是一个特殊的方法用于在创建对象时进行初始化操作不用的时候可写可不写 拿例题说事1 class tyler ( object ) : # 类还可以不写object(默认就继承了object)创建 class tyler: def __init__ ( self , name , age ) : self . name = name self . age = age def study ( self , course ) : self . course = course print ( '%s正在学习%s。' % ( self . name , self . course ) ) def watch ( self ) : if self . age < 18 : print ( '%s只能看《熊出没》' % self . name ) else : print ( '%s只能看《动作片》' % self . name ) if __name__ == "__main__" : stu = tyler ( 'asd' , 19 ) #这里的()走的是初始化__init__函数

Python装饰器的应用场景

元气小坏坏 提交于 2019-11-29 04:50:33
装饰器的应用场景 附加功能 数据的清理或添加: 函数参数类型验证 @require_ints 类似请求前拦截 数据格式转换 将函数返回字典改为 JSON/YAML 类似响应后篡改 为函数提供额外的数据 mock.patch 函数注册 在任务中心注册一个任务 注册一个带信号处理器的函数 不同应用场景下装饰器实现 函数注册表 简单注册表 funcs = [] def register(func): funcs.append(func) return func @register def a(): return 3 @register def b(): return 5 # 访问结果 result = [func() for func in funcs] 注册表隔离(使用类的不同实例) class Registry(object): def __init__(self): self._funcs = [] def register(self, func): self._funcs.append(func) def run_all(self): return [func() for func in self._funcs] r1 = Registry() r2 = Registry() @r1.register def a(): return 3 @r2.register def b():

python继承super的使用

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-29 04:45:33
1、继承1个父类 class Common(object): def __init__(self,mylogger,logfile,excl_file): self.mylogger = mylogger self.logfile = logfile self.excl_file = excl_fileclass OMS(Common): def __init__(self,mylogger,logfile,excl_file): super(OMS,self).__init__(mylogger,logfile,excl_file)2、继承多个父类????????????? 来源: https://www.cnblogs.com/harryTree/p/11454514.html

一些面试题总结

廉价感情. 提交于 2019-11-29 03:22:33
合并字典:请合并下面两个字典 a = {"A":1,"B":2},b = {"C":3,"D":4} dict1 = {"A": 1, "B": 2} dict2 = {"C": 3, "D": 4} # 方式一 **表示打散 print({**dict1, **dict2}) # * ** 都表示打散可迭代对象 # 方式二 update方法 dict1.update(dict2) # 合并字典 元组操作:如何把元组 ("a","b") 和元组 (1,2),变为字典 {"a":1,"b":2} # zip的使用 a = ("a", "b") b = (1, 2) print(dict(zip(a, b))) 交换字典的键和值 dict1 = {"A": 1, "B": 2} res = {k: v for v, k in dict1.items()} print(res) 我们知道对于列表可以使用切片操作进行部分元素的选择,那么如何对生成器类型的对象实现相同的功能呢? Python交换两个变量的值 a,b=b,a 这个不是元组解包,在栈的顶端做两个值的交换。 read()/readline()/readlines() with open('test.txt', 'r', encoding='utf-8') as f: text = f.read() print(text) with

算法第一次作业——python编码规范参考及《数学之美》读后感

倾然丶 夕夏残阳落幕 提交于 2019-11-29 03:20:20
一、 说明 为了规范 Python代码的书写,提高代码的可读性,使编码人员在代码上更好的协作,制定了本规范。 编码规范的作用: 提高可读性 ——“任何一个傻瓜都能写出计算机可以理解的代码,唯有写出人类容易理解的代码,才是优秀的程序员。”编码规范,帮助我们写出人类容易理解的代码。 统一全局,促进团队协作 —— 开发是一个团队活动,而不是个人的英雄主义。 有助于知识传递,加快工作交接 ——风格的相似性,能让编码人员更迅速,更容易理解一些陌生的代码,更快速地理解别人的代码。 减少名字增生,降低维护成本 ——在没有规范的情况下,很容易为同一类型的实例起不同的名字。 强调变量之间的关系,降低缺陷引入的机会 ——命名可以表示一定的逻辑关系,使开发人员在使用时保持警惕,从而一定程度上减少缺陷被引入的机会。 提高个人能力 二、 内容 1. 代码布局 1.1 缩进 推荐以 4个空格作为一个缩进层次。 1.2 表达式和语句中的空格 1. 前导空格(缩进) 最流行的 Python缩进方式是仅使用空格,其次是仅使用制表符。对于新的项目,应该仅使用空格而不是制表符。 2. 非前导空格 非前导空格在 Python代码中没有意义,但适当地加入非前导空格可以增进代码可读性: ( 1)在二元算术、逻辑运算符前后加空格,如: ** 示例: ** a = b + cif a and b: pass ( 2

Python目录集

*爱你&永不变心* 提交于 2019-11-29 03:10:50
以下整理的是pyton的基础笔记,需要python视频资料或更多的请关注我的公众号! Python简介及安装 Python的3种执行方式 变量及变量计算和引用 if, elif, else及if嵌套 运算符 循环及循环嵌套 函数及函数的嵌套等 函数的返回值和参数进阶 列表list [ ] 模块 import导入 字符串及切片 元组( )和字典 { } 容器类型公共方法 面向对象OO P 封装 继承 多态 类属性 类方法 静态方法 异常 模块和包 文件操作和文件编码 来源: https://www.cnblogs.com/wysk/p/11277568.html

python课堂整理33----面向对象(我的对象又在哪里)

半城伤御伤魂 提交于 2019-11-29 01:47:24
一、面向对象设计(Object Oriented Design) 将一类具体事物的数据和动作整合到一起,即面向对象设计 理解两个概念: 类:把一类事物的相同的特征和动作整合到一起就是类,类就是一个抽象的概念 对象:就是基于类而创建的一个具体的事物(具体存在的),也就是特征和动作整合到一起 例: def people(gender,country): #定义一个“人”的类 def init(gender, country): #相当于初始化 dir = { #人的特征和动作 "gender":gender, "country": country, "eat": eat, "sleep":sleep } return dir def eat(dir): print("%s %s正在吃饭"%(dir["country"], dir["gender"])) def sleep(dir): print("%s %s正在睡觉"%(dir["country"], dir["gender"])) return init(gender, country) p1 = people("man", "China") #得到的是一个字典 p1["eat"](p1) #通过字典取值调用函数,函数需要的参数在字典里 p2 = people("女人", "日本") p2["sleep"](p2)    二