版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Python 运维开发Day 4Alex Li | 大道至简 超越别人对你的期待! Beyond the expectation!上节回顾 Python 函数进阶 Pickle 序列化 正则表达式 创建使用模块 练习程序-信用卡 培训网址: 本日内容 装饰器 异常处理 面向对象编程介绍 类的使用 第一个面向对象程序 子类的继承 程序练习 培训网址: 上节捨遗:装饰器 /huxi/archive/2011/0 3/01/1967600.html官网: d
2、ef sayHi():print Hi , your sister.查看sayHi()执行花费时间 官网: 查看sayHi()执行花费时间import timedef sayHi():start = time.clock() print Hi , your sister. end = time.clock()print used:, start end官网: import timedef sayHi():start = time.clock() print Hi , your sister. end = time.clock(
3、)print used:, start end查看50个函数的执行时间? 官网: Python 异常处理常见python 异常:AttributeError试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError输入/输出异常;基本上是无法打开文件ImportError无法引入模块或包;基本上是路径问题或名称错误IndentationError语法错误(的子类) ;代码没有正确对齐IndexError下标索引超出序列边界,比如当x只有三个元素,却试图访问x5 KeyError试图访问字典里不存在的键KeyboardInterruptCt
4、rl+C被按下NameError使用一个还未被赋予对象的变量SyntaxErrorPython代码非法,代码不能编译(个人认为这是语法错误,写错了)TypeError传入对象类型与要求的不符合UnboundLocalError试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,导致你以为正在访问它ValueError传入一个调用者不期望的值,即使值的类型是正确的培训网址: Python异常捕捉try:print xexcept NameError:print Something is wrong!”手动触发异常 Raise IndexErro
5、r培训网址: 制作自己的异常class MyException(Exception):passtry:#some code here raise MyExceptionexcept MyException:print MyException encoutered培训网址: Try.finallyFinally- 无论try块是否抛出异常,永远执行的代码。通常用来执行关闭文件,断开服务器连接的 功能等等。 class MyException(Exception):pass try:#some code here raise My
6、Exceptionexcept MyException:print MyException encoutered finally:print Arrive finally”可以在try块里加入else块,代码块将在没有异常被抛出的时候执行: try:print normal code here except MyException:print MyException encoutered else:print No exception”培训网址: Try.finallyraise异常、同时添加数据 raise异常的同时,我们可以添加一些额外的数据,就像下面的例
7、子一样: class MyException(Exception):passtry:raise MyException, and some additional data except MyException,data:print MyException encoutered print data output ?培训网址: 起初,神创造天地 地是空虚混沌。渊面 。神的灵运行在水面上。 神说,要有光,就有了光。 神说要有面向对象编程,就有了。 官网: 面向对象编程 为什么要对象编程? 我国为什么有23个省? 学校为什么分不同的
8、院系和班级? 培训网址: 面向对象编程 世界万物,皆可分类 一切皆为对象 对象类的实体一个叫Rain的好色的男人 类人动物机器 方法人会走,会思考狗会叫,会咬人定义一个类的各个功能 消息传递狗叫了,人听见了,就叫通信 继承狗都四条腿走路 封装人不能引用狗的特性,比如四条腿走路 多态性一个叫的功能,可能是低吼,也可是大声叫 抽象性简化复杂的现实问题的途径,它可以为具体问题找到最恰当的类定义 培训网址: 类、对象、方法 学生 专业 班级 学号职员 工资 职位 公司 公司领导 下属 职位 工资实例化 彬哥 Python运维开发 老男
9、孩PYTHON第三期 0032Alex 工资:5000 职位:python讲师 公司:老男孩Linux培训冉宏元 公司:老男孩Linux 职位:校长 下属: Alex 工资:500000类的方法 显示姓名() 变换工作() 修改姓名() 修改职位() 官网: 类的语法class dog:def name(self):print “Hello master,my name is Python”D = dog() #将类赋给D 这个变量 D.name()#引用dog类下面的name方法 Hello master,my name is Python培训网址: www
10、.类的方法 self 类的方法(类函数)与普通的函数只有一个特别的区别它们必须有一个额外的第一个参数名称,但是在调用这个方法的 时候你不为这个参数赋值,Python会提供这个值。这个特别的变量指对象本身,按照惯例它的名称是self。 如你有一个类称为MyClass和这个类的一个实例MyObject。当你调用这个对象的方法MyObject.method(arg1, arg2)的时候, 这会由Python自动转为MyClass.method(MyObject, arg1, arg2)培训网址: _ _ init_ _ 初始化from os
11、.path import join class FileObject:给文件对象进行包装从而确认在删除时文件流关闭def init (self, filepath=, filename=sample.txt): #读写模式打开一个文件 self.file = open(join(filepath, filename), r+)def del (self): # 解构器 self.file.close() del self.file培训网址: _ _ init_ _ 初始化对实体进行初始化 class Dog:def init (self,name):D.bar
12、k()培训网址: 数无法调用 self.DogName = name #必须赋值self,否则类中其它函 def bark(self):print “Wang! Wang Wang!”D = Dog(Sam)公有、私有属性 private_var DefprivateFunc():print I am private , you can not get me from outside官网: 类的实例化 class Person:def init (self,Type,Sex,Age,Name): self.race = Typ
13、eself.sex = Sex self.age = Age = Namedef talk(self,msg=0):self.msg = msg if self.msg != 0:print ,Saying:,self.msgP = Peson(Black,Female,24,Susan) P.talk(Hello, my name is %s % P.name)培训网址: 类的继承 为什么要使用类的继承? class Person:类的继承 #父类 def init (self,Type,Sex,Age,Name):se
14、lf.race = Type self.sex = Sex self.age = Age = Namedef talk(self,msg=0):self.msg = msg if self.msg != 0:class person_info(Person):#字类 print ,Saying:,self.msgdef init (self,Type,Sex,Age,Name,nation,work,salary): Person. init (self,Type,Sex,Age,Name) self.country = nationself.job = work self.salary = salarydef tell(self,msg):print %ss personal information: Name : %sAge : %s培训网址: 练习题 定义游戏角色,先定义人,然后设定人的功能、特征、工作、年龄、人种、国籍、性别、特长等信息 丝的奋斗 LizPeterJohn BerryJohn and Liz 是高中同学时的,后来Liz考上了 北 市学院,Jhon没有,为了跟女朋友在一起, 他来
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子计算机外部设备及装置项目筹资方案
- 车辆管理制度
- 《角蛋白及其水解物》团体标准 征求意见稿
- 《喜看稻菽千重浪 记首届国家最高科技奖获得者袁隆平》袁隆平的农业科技成果的推广渠道课件
- 专科网络运维考试题目及答案
- 学校图书管理制度试题及答案
- 药品不良反应监测制度及流程
- 药品监管三基三严考试题库及答案
- 药品企业原料进货查验记录制度
- 医疗废物规范化管理专项考核试题及答案
- 儿童青少年心理健康知识讲座
- 2025年广东省中考物理试题卷(含答案)
- 航运企业合规管理制度
- 2026年高考语文备考之非连续性文本阅读训练(人工智能、科技文化)
- 幼儿园伙食费管理制度
- 月结60天合同协议书
- 肉羊高效健康养殖与疫病防控技术培训
- 养老院食品安全培训
- 全球核安全形势课件
- 《婴幼儿常见病识别与预防》高职早期教育专业全套教学课件
- 《智能制造基础与应用》课件全套 第1-8章 绪论、智能制造数字化基础- 智能制造应用
评论
0/150
提交评论