《python基础培训讲义课件》由会员分享,可在线阅读,更多相关《python基础培训讲义课件(77页珍藏版)》请在金锄头文库上搜索。
1、python基础培训培训内容培训内容python概述概述python基础基础python对象对象条件和循环条件和循环函数函数模块模块面向对象编程面向对象编程文件相关文件相关异常异常实验实验什么是什么是PythonPython优雅而健壮的编程语言优雅而健壮的编程语言注重如何解决问题注重如何解决问题Python的特点高级高级面向对象面向对象可移植性可移植性可扩展性可扩展性可嵌入性可嵌入性健壮性健壮性解释性解释性易学易读易用易学易读易用为什么是为什么是python简单易学,功能丰富简单易学,功能丰富与与c、c+、java相比相比与其他的脚本语言相比与其他的脚本语言相比perl:对符号语法的过度使用:
2、对符号语法的过度使用 javascript:通常嵌入到:通常嵌入到html网页,依赖浏览网页,依赖浏览器器下载和安装下载和安装下载:下载:http:/www.python.org/ 安装安装环境变量:环境变量:Path=C:Program FilesPython24Hello World第一个第一个Python程序程序print “Hello World!”命令行命令行编辑器编辑器Python的语法特色的语法特色注释注释 (#)继续继续 ()多个语句构成的代码组多个语句构成的代码组 (:)缩进分隔缩进分隔模块模块help培训内容培训内容python概述概述python基础基础python对象对
3、象条件和循环条件和循环函数函数模块模块面向对象编程面向对象编程文件相关文件相关异常异常实验实验Python的基础的基础变量变量变量的赋值变量的赋值astring = “hello”增量赋值:增量赋值:x += 1 (python2.0开始开始)、多重赋值:多重赋值:x = y = z = 1多元赋值:多元赋值:x, y, z = 1, 2, “hello” ( x, y, z) = (1, 2, “hello”) 提高可读性提高可读性Python的基础的基础标识符标识符第一个字符必须是字母或下划线第一个字符必须是字母或下划线_其他字符可以是字母、数字或下划线其他字符可以是字母、数字或下划线大小
4、写敏感大小写敏感关键字:关键字:Python的基础的基础无处不在的引用无处不在的引用变量的定义:在第一次赋值时自动声明变量的定义:在第一次赋值时自动声明Python是一种动态类型的语言是一种动态类型的语言无处不在的引用:无处不在的引用:Python中的每个值中的每个值(而不是变量而不是变量)都有一个唯一的都有一个唯一的标识标识任何变量名之间的赋值都是引用的赋值任何变量名之间的赋值都是引用的赋值x = 3y = xz = y培训内容培训内容python概述概述python基础基础python对象对象条件和循环条件和循环函数函数模块模块面向对象编程面向对象编程文件相关文件相关异常异常实验实验Pyt
5、hon的对象的对象任何类型的值都是一个对象任何类型的值都是一个对象Python对象的三个特性对象的三个特性身份:用身份:用id()查看查看类型:用类型:用type()查看查看值值Python数据类型数据类型概述概述标准类型标准类型数字数字Integer 整型整型 Boolean 布尔型布尔型 Long integer 长整型长整型Floating point real number 浮点型浮点型Complex number 复数型复数型String 字符串字符串List 列表列表Tuple 元组元组Dictionary 字典字典Python数据类型数据类型概述(续)概述(续)其他的内建类型其他
6、的内建类型Type 类型类型Null对象对象文件文件Set 集合集合函数函数模块模块类类Python数据类型数据类型标准类型操作符标准类型操作符对象值的比较对象值的比较对象身份比较对象身份比较x=y=3.3x=3.3;y=3.3x=3.3;y=2+1.3x is y布尔类型操作符布尔类型操作符Python数据类型数据类型标准类型内建函数标准类型内建函数type()cmp()obj1obj2 返回正数返回正数Obj1=obj2 返回返回0str()和和repr()以及以及 操作符操作符以字符串的方式获得对象的类型、内容、数值等属性以字符串的方式获得对象的类型、内容、数值等属性eval()Pyth
7、on数据类型数据类型可变对象和不可变对象可变对象和不可变对象不可变对象:对象创建之后,其值不能更新不可变对象:对象创建之后,其值不能更新可变对象:对象创建之后,其值可以更新可变对象:对象创建之后,其值可以更新培训内容培训内容python概述概述python基础基础python对象对象条件和循环条件和循环函数函数模块模块面向对象编程面向对象编程文件相关文件相关异常异常实验实验数字类型数字类型序列类型序列类型字符串字符串列表列表元组元组映射类型映射类型字典字典Python数据类型数据类型数字数字整型:整型:32位机器上,标准整型的取值范围是位机器上,标准整型的取值范围是-231231-1布尔型:只
8、有两个值的整型布尔型:只有两个值的整型(0和和1),python2.3开开始支持布尔型始支持布尔型长整型:标准整型的超级,能表达的数值仅与机长整型:标准整型的超级,能表达的数值仅与机器支持的内存大小有关系。器支持的内存大小有关系。23434333L双精度浮点型:占双精度浮点型:占8个字节个字节(64位位),其中,其中53位表示位表示底,底,11位表示指数,一位表示符号。位表示指数,一位表示符号。-77.,2.3434433,9.78e-23,float(12)复数:复数:a=4.56+8j; a.real表示实部,表示实部,a.imag表示表示虚部虚部数字类型的操作符数字类型的操作符支持不同的
9、数字支持不同的数字类型相加类型相加强制强制类型转换类型转换数字类型的操作符数字类型的操作符(续续)算数操作符算数操作符功能功能expr1*expr2幂运算运算+expr结果符号不果符号不变-expr对结果符号去果符号去负expr1 * expr2表达式表达式1乘以表达式乘以表达式2expr1 / expr2表达式表达式1除以表达式除以表达式2(传统除或真正除)除或真正除)expr1 / expr2表达式表达式1地板除以表达式地板除以表达式2(python2.2加入加入)expr1 % expr2表达式表达式1对表达式表达式2取余(模除)取余(模除)expr1 + expr2加加expr1 -
10、expr2减减数字类型的操作符数字类型的操作符(续续)位操作符(只适用于整型)位操作符(只适用于整型)位操作符位操作符功能功能num单目运算,目运算,对数的每一位取反数的每一位取反num1 num2num1左移左移num2位位num1 & num2num1与与num2按位与按位与num1 num2num1异或异或num2num1 | num2num1与与num2按位或按位或数字类型的内建函数数字类型的内建函数转换函数:将其他类型的数字转换为相应类型转换函数:将其他类型的数字转换为相应类型int()、long()、float()、complex()bool() python2.2开始开始功能函数
11、:功能函数:abs(num) 绝对值绝对值coerce(num1,num2) 将将num1和和num2转换为同一类转换为同一类型,然后以一个元组的形式返回型,然后以一个元组的形式返回divmod(num1,num2) 获得商和余数的元组获得商和余数的元组pow(num1,num2,mod=1) 指数运算指数运算round(flt,ndig=1) 对浮点型进行四舍五入运算对浮点型进行四舍五入运算数字类型的相关模块数字类型的相关模块模模块介介绍decimal十十进制浮点运算制浮点运算类(Decimal)math/cmath标准准C库数学运算函数。常数学运算函数。常规数学运算在数学运算在math模模
12、块,复数运算在,复数运算在cmath模模块random多种位随机数生成器多种位随机数生成器序列类型序列类型字符串、列表、元组字符串、列表、元组序列:成员有序排列,可以通过下标访问其成员序列:成员有序排列,可以通过下标访问其成员字符串:字符串:hello “hello” hello列表:列表:2,4,python 2.4, 6.8, python, 1, 3, “hello world”元组元组:(3.3, 6, “computer”) (4, (“hello”, 9), 1.1, 5.7, 8)序列有相同的访问方式:序列有相同的访问方式:培训内容培训内容python概述概述python基础基础
13、python对象对象条件和循环条件和循环函数函数模块模块面向对象编程面向对象编程文件相关文件相关异常异常实验实验数字类型数字类型序列类型序列类型字符串字符串列表列表元组元组映射类型映射类型字典字典序列类型的操作符序列类型的操作符成员关系操作符:成员关系操作符:in, not in连接操作符:连接操作符:+重复操作符:重复操作符:*切片操作:切片操作: : : 0indexperson = name, savings, 100.00hubby = person: # slice copywifey = list(person) # fac func copyid(x) for x in pers
14、on, hubby, wifey浅拷贝浅拷贝深拷贝深拷贝 copy.deepcopyImport copyhubby = person: # slice copywifey = copy.deepcopy(person)copy模块:模块:copy()浅拷贝,浅拷贝,deepcopy()深拷贝深拷贝序列类型小结序列类型小结操作符操作符in, not in, +, *, , :, :内建函数内建函数list, str, unicode, tuple, enumerate, len, max, min, reversed, zip, sortedraw_input, char, ordsum模块模
15、块string, copy, re培训内容培训内容python概述概述python基础基础python对象对象条件和循环条件和循环函数函数模块模块面向对象编程面向对象编程文件相关文件相关异常异常实验实验数字类型数字类型序列类型序列类型字符串字符串列表列表元组元组映射类型映射类型字典字典映射类型映射类型字典字典key1:value1, key2:value2, key3:value3, 创建字典和赋值创建字典和赋值dict1= 创建一个空字典创建一个空字典dict2=name:joe,age:30dict()方法方法访问字典中的值访问字典中的值通过键访问相应的值通过键访问相应的值 dict2na
16、me访问字典的键访问字典的键 dict2.keys(),返回一个列表,返回一个列表访问字典的值访问字典的值 dict2.values(), 返回一个列表返回一个列表遍历一个字典遍历一个字典 执行中字典的键不能被改变执行中字典的键不能被改变删除字典元素和字典删除字典元素和字典 del dict2name del dict2字典类型的操作符字典类型的操作符标准类型操作符标准类型操作符映射类型操作符映射类型操作符字典键查找操作符字典键查找操作符 (键键)成员关系操作符成员关系操作符 in, not in字典类型的内建函数字典类型的内建函数type() str()比较函数比较函数 cmp()字典类型的
17、内建函数字典类型的内建函数dict(container):创建字典的工厂函数。如果提创建字典的工厂函数。如果提供了容器类,就用其中的条目填充字典,否则创供了容器类,就用其中的条目填充字典,否则创建一个空字典建一个空字典len(): 返回键值对的数目返回键值对的数目hash(): 判断某个对象是否可以作为字典的键判断某个对象是否可以作为字典的键不可变类型是可哈希的不可变类型是可哈希的字典类型的内建函数字典类型的内建函数(续续)方法名字方法名字操作操作dict.clear()删除字典中的所有元素除字典中的所有元素dict.copy()返回一个字典的副本(浅拷返回一个字典的副本(浅拷贝)dict.f
18、romkeys(seq, val=None)创建并返回一个新的字典,以建并返回一个新的字典,以seq中的元素中的元素为键,val为值dict.get(key, d=none)返回返回键key对应的的值,若,若该键不存在,返回不存在,返回ddict.items()返回一个包含字典中返回一个包含字典中键、值对元元组的列表的列表dict.iteritems()返回一个包含字典中返回一个包含字典中键、值对元元组的列表的迭代子的列表的迭代子dict.iterkeys()返回返回键列表的迭代子列表的迭代子dict.itervalues()返回返回值列表的迭代子列表的迭代子dict.keys()返回字典中返
19、回字典中键的列表的列表dict.values()返回字典中返回字典中值的列表的列表dict.pop(key,default)与与get相似,但是将相似,但是将键值对弹出出dict.setdefault()与与类型,若型,若键不存在,不存在,则使用默使用默认值dict.update(dict2)将将dict2的的键值对添加到字典添加到字典dict培训内容培训内容python概述概述python基础基础python对象对象条件和循环条件和循环函数函数模块模块面向对象编程面向对象编程文件相关文件相关异常异常实验实验条件表达式条件表达式if语句语句If expression: expr_true_su
20、itelse语句语句if expression: expr_true_suitelse: expr_false_suitelif语句语句(即即else-if)if expression: expr_true_suitelif: expr_true_suitelse: none_of_the_above_suit三元操作符三元操作符 x if xy else y循环表达式循环表达式while语句语句while expression: suit_to_repeatfor语句语句For iter_var in iterable: suit_to _repeat通过序列项迭代通过序列项迭代通过序列索引
21、迭代(通过序列索引迭代(range())使用项和索引迭代使用项和索引迭代 (enumerate()与序列相关的内建函数:与序列相关的内建函数:sorted、reversed、enumerate、zip循环表达式循环表达式break语句continue语句pass语句while-else语句或for-else语句迭代器和迭代器和iter()函数函数迭代器:有一个迭代器:有一个next()方法的对象方法的对象StopIteration异常异常reversed() 返回一个反向迭代器返回一个反向迭代器enumerate() 使用迭代器使用迭代器iter()next()for循环循环培训内容培训内容p
22、ython概述概述python基础基础python对象对象条件和循环条件和循环函数函数模块模块面向对象编程面向对象编程文件相关文件相关异常异常实验实验函数函数创建函数创建函数 def function_name():函数的参数函数的参数函数的返回值函数的返回值调用函数调用函数局部变量局部变量global语句语句文档字符串文档字符串培训内容培训内容python概述概述python基础基础python对象对象条件和循环条件和循环函数函数模块模块面向对象编程面向对象编程文件相关文件相关异常异常实验实验模块模块什么是模块什么是模块实现代码重用实现代码重用导入模块导入模块importfrom impor
23、t 导入指定模块的属性导入指定模块的属性sys模块介绍模块介绍包含了与包含了与python解释器和它的环境有关的函数解释器和它的环境有关的函数exit、argv、pathtime模块介绍模块介绍time.time() 获取当前时间获取当前时间(整数形式整数形式)time.localtime() 当前时间的当前时间的struct_time形式形式 time.ctime() 当前时间的字符串形式当前时间的字符串形式 Time.mktime() 由由struct_time得到当前的秒数得到当前的秒数模块模块(续续)os模块介绍模块介绍 包含普遍的操作系统功能包含普遍的操作系统功能os.name 指示
24、正在使用的平台指示正在使用的平台os.getcwd() 获得当前获得当前python脚本的工作目录脚本的工作目录os.getenv() 读取环境变量读取环境变量os.listdir() 返回指定目录下的所有文件和目录名返回指定目录下的所有文件和目录名os.remove() 删除一个文件删除一个文件os.system() 用来运行用来运行shell命令命令os.sep 根据当前操作系统,给出目录分隔符根据当前操作系统,给出目录分隔符os.path.isfile() 检验给出的路径是不是文件检验给出的路径是不是文件os.path.isdir() 检验给出的路径是不是目录检验给出的路径是不是目录模块
25、模块(续续)模块的名字模块的名字 _name_if _name_ = _main_:创建自己的模块创建自己的模块dir() 列出模块定义的标识符列出模块定义的标识符培训内容培训内容python概述概述python基础基础python对象对象条件和循环条件和循环函数函数模块模块面向对象编程面向对象编程文件相关文件相关异常异常实验实验面向对象编程面向对象编程类:一种数据结构,封装了属性和方法类:一种数据结构,封装了属性和方法类的定义类的定义class ClassName(object): class documentation string #文档字符串 class_suite #类体_init_
26、函数:类的构造器函数:类的构造器实例化实例化第一步:创建实例对象第一步:创建实例对象第二步:检查是否实现了第二步:检查是否实现了_init_方法方法面向对象编程面向对象编程self:相当于:相当于this指针指针绑定绑定方法仅仅是类内部定义的函数方法仅仅是类内部定义的函数方法只有在其所属类拥有实例时,才能被调用方法只有在其所属类拥有实例时,才能被调用类的属性与实例的属性类的属性与实例的属性类的属性:仅与被定义的类绑定类的属性:仅与被定义的类绑定(包括数据属性包括数据属性和方法属性和方法属性)实例属性:独立于其他的类或实例,仅拥有数实例属性:独立于其他的类或实例,仅拥有数据属性据属性面向对象编程
27、面向对象编程成员的访问类型成员的访问类型公有,私有?公有,私有?_XXX 不允许不允许from myModule import *导入导入_XXX 类的私有成员类的私有成员_XXX_ 系统定义的名字系统定义的名字继承继承实现代码的重用实现代码的重用_init_方法中调用基类的该方法,并传递方法中调用基类的该方法,并传递self参数参数子类会覆盖父类同名的函数子类会覆盖父类同名的函数多重继承多重继承典型的典型的python文件结构文件结构培训内容培训内容python概述概述python基础基础python对象对象条件和循环条件和循环函数函数模块模块面向对象编程面向对象编程文件相关文件相关异常异常
28、实验实验文件相关文件相关打开文件打开文件 open(name,mode)、file(name,mode)打开文件失败时会产生一个打开文件失败时会产生一个IOError异常异常文件模式文件模式操作操作r以以读方式打开方式打开w以写方式打开(必要以写方式打开(必要时清空)清空)a以追加模式打开(从以追加模式打开(从EOF开始,必要开始,必要时创建新文件)建新文件)r+以以读写模式打开写模式打开w+以以读写模式打开(参写模式打开(参见w)a+以以读写模式打开(参写模式打开(参见a)rb以二以二进制制读模式打开模式打开wb以二以二进制写模式打开(参制写模式打开(参见w)ab以二以二进制追加模式打开(参
29、制追加模式打开(参见a)rb+以二以二进制制读写模式打开(参写模式打开(参见r+)wb+以二以二进制制读写模式打开(参写模式打开(参见w+)ab+以二以二进制制读写模式打开(参写模式打开(参见a+)文件相关文件相关写文件写文件write(str) 向文件写入字符串向文件写入字符串 writelines(seq) 列表或元组为参数,将其写入文件列表或元组为参数,将其写入文件读文件读文件read() 读取内容到字符串读取内容到字符串readline() 读取打开文件的一行读取打开文件的一行readlines() 读取所有行,并作为列表返回读取所有行,并作为列表返回文件内移动文件内移动seek(of
30、f,whence=0) 在文件中移动文件指针,从在文件中移动文件指针,从whence偏移偏移off指针(指针(whence=0文件开始,文件开始,1代表当前位置,代表当前位置,2代表文件末尾)代表文件末尾)tell() 返回在文件中的位置返回在文件中的位置os模块模块培训内容培训内容python概述概述python基础基础python对象对象条件和循环条件和循环函数函数模块模块面向对象编程面向对象编程文件相关文件相关异常异常实验实验异常异常异常:程序出现了错误而在正常控制流意外采取异常:程序出现了错误而在正常控制流意外采取的行为的行为python中常见的异常中常见的异常NameError: 尝
31、试访问一个未申明的变量尝试访问一个未申明的变量ZeroDivisionError: 除数为除数为0SyntaxError: python解释器语法错误解释器语法错误IndexError: 请求的索引超出序列范围请求的索引超出序列范围KeyError: 请求一个不存在的字典关键字请求一个不存在的字典关键字IOError: 输入输入/输出错误输出错误AttributeError: 尝试访问未知的对象属尝试访问未知的对象属检测和处理异常检测和处理异常try-except语句语句带有多个带有多个except的的try语句:语句:检测和处理异常检测和处理异常处理多个异常的处理多个异常的except语句语句捕获所有异常捕获所有异常检测和处理异常检测和处理异常else子句:在子句:在try的范围内没有检测到异常时,执的范围内没有检测到异常时,执行行else字句字句finally字句:无论异常是否发生,是否捕捉到异字句:无论异常是否发生,是否捕捉到异常,都会执行的代码常,都会执行的代码try-finally子句:目的不是捕获异常,而是用来维子句:目的不是捕获异常,而是用来维持一致的行为持一致的行为培训内容培训内容python概述概述python基础基础python对象对象条件和循环条件和循环函数函数模块模块面向对象编程面向对象编程文件相关文件相关异常异常实验实验