配色: 字号:
Python核心讲堂
2020-12-26 | 阅:  转:  |  分享 
  
Python核心讲堂2020-12-25演讲人目录教学目标1.课程方法2.核心篇3.风云讲堂Mr.潘带你开启测试之旅,欢迎微我4.01教学
目标教学目标培养学员编程思维,学习方法01了解编程语言,熟悉Python编程0202课程方法课程方法学以致用举一反三问题自由探讨解
决03核心篇核心篇核心语法程序设计基本结构数据结构函数&模块面向对象异常处理单元测试核心篇模块和包文件操作Pyth
on之资源推荐单元测试核心篇核心语法概述搭建开发环境基础语法学以致用概述010203官方描述无所不能的PythonPyt
hon的版本选择环境安装搭建开发环境Python的三种开发运行环境Python的运行原理程序构成包(目录)模块(
文本文件)数据的存取标识符字面量和变量01栈内存堆内存数据的引用02数据不被引用时,自动释放其存储空间垃圾回收机制03对象本质
一个内存块拥有特定属性支持所属类型的操作对象要素标识(identity)类型(type)值(value)一切皆对象(objec
t)基础语法内置帮助dirhelp基本数据类型数字类型字符串类型(str)类型转换数据驻留机制1234LOGO基本数据类型数
字类型整型(int)浮点型(float)复数(complex)基本数据类型字符串类型(str)字符集创建方式转义字符常用操作基本
数据类型类型转换自动转换强制转换基本数据类型数据驻留机制小数据池短字符串池运算符操作数、运算符、表达式、语句常见的运算符算
术赋值关系布尔(逻辑)基础语法布尔型(bool)TrueFalse基础语法输入/输出操作输入(input)输出(print)12学
以致用任务一:员工信息管理系统之员工信息列表(一)任务描述:1.创建一个Python文件,用于存储核心代码2.在程序开头
加入本程序描述性注释,包含信息:文件名、用途、作者、时间3.申明变量分别用于存储“姓名”、“性别”、“联系方式”、“出身年月”
、“年龄”、“税前月收入”4.员工信息列表中至少包含3名以上的员工,员工与员工之间用40个“-”号分隔任务二:个人所得税计
算器任务描述:用户输入月薪,程序返回”您需要交税xx元,剩余xx元。”排除专向扣除款项最新版个人所得税计算方式:见附件\"资料
\\2019最新工资个人所得税税率表.docx\"0102顺序结构选择结构核心篇程序设计基本结构0304循环结构学以致用顺序结构
了解顺序结构单if语句01if的不同语法形式if-else语句运算符表示法02多if-else语句03循环
结构while-else01rangefor-else02continue,break03学以致用任务二:员工信息
管理系统之员工信息列表(二)任务描述:为员工信息管理系统添加登录功能,登录账号为“admin”,密码为“1~10”之间的十进制随
机数,用户有三次登录机会,登录成功后打印员工信息列表,并在任务一的基础上追加两个新列,用于表示“个人所得税”和“税后月收入”最
新版个人所得税计算方式:见附件\"2019最新工资个人所得税税率表.docx\"核心篇数据结构0102030405概
念序列映射集合学以致用概念1从个人书架到图书馆书架2计算机存储、组织数据的方式序列类型的体现二进制序列(bytes,bytea
rray)文本序列(str)迭代器(range)元组(tuple)列表(list)序列类型的体现列表(list)[item1,i
tem2,item3,...]序列类型的体现元组(tuple)(item1,item2,item3,...)LOGO序列
类型的体现迭代器(range)range(start,end,step)序列类型的体现文本序列(str)\"stringco
ntent\"序列类型的体现二进制序列(bytes,bytearray)字节串(bytes)字节数组(bytearray)序列列
表类型话操作不可变序列操作和可变序列的操作通用序列只能进行数据的读取操作可变序列可以进行数据的增、删、改、查操作映射
映射类型的体现字典(dict)映射类型的操作可以进行数据的增、删、改、查操作集合集合类型的体现0102集合(set)
冻结集合(frozenset)不可变集合只能进行数据的读取操作可变集合可以进行数据的增、删、改、查操作不可变集合和可变
集合的操作学以致用任务三:员工信息管理系统之员工管理任务描述:基于任务二,登录之后进入功能菜单页面,根据用户选择进行员工管理操
作,优化员工信息存储方式,完成员工信息的录入、更新、删除、员工列表等功能。核心篇函数&模块函数概念一封邮件话函数函数
的参数函数返回值函数进阶模块概念核心篇函数&模块010203模块的引用命名空间学以致用函数概念应用场景程序封装
、程序复用0102按来源有无参数函数的种类0304有无返回值调用关系函数的种类按来源内置函数对象方法第三方函数自定义函数函数的
种类有无参数无参函数有参函数函数的种类有无返回值只存在有返回值函数函数的种类调用关系被调函数主调函数递归调用函数一封邮件话函
数实参:\"xxx@163.com\",\"来自函数的问候\",\"你好,伙伴。\"形参:收件人,邮件主题,正文,更多
函数名:发邮件send_email调用发邮件功能是传入的数据待调用发邮件功能时接收具体数据的变量名函数的参数positiona
l-only:仅限位置,指只能按位置传入的参数。Python中无定义仅限位置形参的语法。但是一些内置函数有仅限位置形参,如:di
vmod()positional-or-keyword:位置或关键字,指定一个可以作为位置参数传入也可以作为关键字参数传
入的实参,如:open()keyword-only:仅限关键字,指定一个只能通过关键字传入的参数。该关键字的前一项为,如:s
orted()var-positional:可变数量的位置参数,参数可以是多个单项实参或序列实参(序列实参),如:max(
)var-keyword:可变数量的关键字参数,参数可以是多个单项实参(key=word)或字典实参(字典实参),如:d
ict()函数返回值任何函数/方法都有一个默认的返回值None,但可以通过returnvalue自定义函数返回值函数进
阶闭包函数嵌套函数lambda表达式lambdaarguments:expression也叫匿名函数,函数的一个简写,通
常只有一个表达式,返回表达式的结果模块概念应用场景更高级别程序封装、程序复用模块的分类按来源内置模块(标准库)第三放模块自定
义模块importmodule通过module.member方式使用模块中的成员对象01引用方式frompackagei
mportmodule通过module.member方式使用模块中的成员对象02frommoduleimport引入
模块module中的所有成员对象,不推荐使用03模块的引用引用机制importsys#存在于sys.path目
录所包含的位置查找print(sys.path)自定义模块识别方法路径追加法:sys.path.append()自定义配置法
importsite#将自定义模块的路径加入到一个.pth结尾的文件中,再将该文件放置在特定目录中,则任何项目
中,都可直接使用。site.getsitepackages()#特定目录命名空间命名空间的作用命名空间提供了在项
目中避免名字冲突的一种方法命名空间的种类内置命名空间(built-innamesapce)Python语言内置的名称,比如函
数名abs、char和异常名称BaseException、Exception等等0102全局命名空间(globalnam
esapce)模块中定义的名称,记录了模块的变量,包括函数、类、其它导入的模块、模块级的变量和常量03局部命名空间(built-i
nnamespace)函数中定义的名称,记录了函数的变量,包括函数的参数和局部定义的变量作用域详解内建作用域(Built-in
)包含了内建的变量/关键字等全局作用域(Global)当前脚本的最外层,比如当前模块的全局变量闭包外函数作用域(Enclosi
ng)包含了非局部(non-local)也非全局(non-global)的变量。比如两个嵌套函数,一个函数(或类)A里面又包
含了一个函数B,那么对于B中的名称来说A中的作用域就为nonlocal。局部作用域(Local)最内层,包含局部变
量,比如一个函数/方法内部学以致用任务四:员工信息管理系统之员工管理任务描述:基于任务三,利用函数来组织代码逻辑,优化程序实现,
扩展员工列表可按姓名或税后收入升序或降序输出。任务五:员工信息管理系统之员工管理任务描述:基于任务四,将登录场景业务逻辑封装
到login.py模块中,将员工管理模块业务逻辑封装到employee.py模块中,将main.py模块作为系统的入口
模块,并将数据持久化保存到文件中。核心篇面向对象0102面向过程还是面向对象对象和类050304类与类体面向对象特性学以
致用面向过程还是面向对象从雕版印刷术到活字印刷术将现实问题转化为面向对象编程(OOP)分析问题,找对象(对象的属性、对象方
法)分析对象的关联关系对象和类类针对对象提取公有特征和公有行为的过程,抽象-->classClassName
:对象类的一个具体化(实例化)-->ClassName()010203类名:抽象出来的类的名称,一般用大驼峰命名类属
性:隶属于类的属性,可以通过类名访问,当然也可以通过该类的实例化对象访问类方法:隶属于类的方法,可以通过类名访问,当然也可以通过该
类的实例化对象访问类与类体040506类的静态方法:隶属于类的方法,只是放在了类中而已,和函数一样实例属性:隶属于对象的属性,通
过实例访问实例方法:隶属于对象的方法,通过实例访问类与类体创建对象的过程:-->object(顶级类/基类)--&g
t;dir(object)类与类体类方法:隶属于类的方法,可以通过类名访问,当然也可以通过该类的实例化对象访问cls:类方法的
第一个参数,默认就表示类本身,不需要手动传参类与类体实例方法:隶属于对象的方法,通过实例访问self:实例方法的第一个参数,
默认就表示实例本身,不需要手动传参类与类体创建对象的过程:-->object(顶级类/基类)-->di
r(object)__new__():创建一个对象,自动调用,一般不需要重写__init__():给对象添加特有的属性值__
method__():默认就继承了object的内置方法和内置属性,其中__str__()访问实例返回的内容,__del_
_()销毁实例封装:对于类或实例的属性和方法的封装,为了防止外部的访问、修改面向对象特性继承:抽象层次更高,针对多个子类的公
有属性和公有方法再提取的过程,也是一种复用多态:建立在继承之上的一种用法,不同子类的实例针对同一个方法所表现出来的不一样
性组合:一个类的实例会作为组成另一个类的属性而存在,如:Computer-->CPU,HardDisk,...依赖:
一个类的实例要完成某些事情,需要通过另一个类的实例来实现,如:我开车去苏州-->我和车...学以致用任务六:奥特曼
打怪兽任务描述:模拟一个小游戏,编写一个Monster类和一个Hero类,都拥有血量和攻击力两个属性,并进行攻击。让两者每回合互
相攻击一次,直到有一方死亡。每次攻击扣除对方的血量是攻击力加减N的随机值。任务七:奥特曼打怪兽代码重构任务描述:利用面向对象
的三大特性,对奥特曼打怪兽代码进行重构。核心篇异常处理单元测试ABC异常错误异常处理调试DEF单元测试问题的解决思路
学以致用认识程序中的异常错误异常错误能够从异常错误中捕获有用的消息理解异常处理机制熟悉常见的内置异常类型try01包裹可能出现异
常的代码块except02捕获指定的异常类型,并提供处理方案掌握异常处理的方式else03无异常出现执行的代码块finnaly
04无论是否出现异常,都会执行的代码块raise05手动抛出异常异常处理了解用户定义的异常0102断点单步调试调试掌握程序的调试技巧0304单步跳过单步跳出了解单元测试框架unittest熟悉unittest的工作原理单元测试了解unittest中重要的概念问题的解决思路定位问题出现的原因-->有错误看错误提示,没有的看代码逻辑技术问题-->技术点-->对应的官方文档+百度/谷歌+交流探讨学以致用任务八:员工信息管理系统之员工管理任务描述:基于任务五,利用面向对象的思想,并从鲁棒性的角度,对代码进行容错性重构增强,并利用unittest框架,进行必要的单元测试。核心篇Python之资源推荐0102《Python官方手册》《Python简明教程》04风云讲堂Mr.潘带你开启测试之旅,欢迎微我感谢聆听
献花(0)
+1
(本文系职场细细品原创)