Python Python3入门2_第1页
Python Python3入门2_第2页
Python Python3入门2_第3页
Python Python3入门2_第4页
Python Python3入门2_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2021/2/8,python3入门,2,目录,1,python概述,2,变量和内建数据类型,3,语句,4,函数,5,标准库模块,6,程序调试,3,print(hello world!) hello world! 2*10 1024 j=0 for i in range(1,11,1): . j = j+i . print(j) 55,python的安装,下载: 版本:windows、linux、源码 开发 集成开发环境:idle (python 3.4 gui - 32 bit) 命令行:python 3.4 (command line - 32 bit) 手机:

2、qpython 范例,4,python语言构成,语法规则:注释#、缩进、“:”、单引号、双引号等 数据类型:int、str、float等(python3里面这些都是类) 语句:if、else、elif、while、def、import等 函数:print()、range()、help()等 对象:os、sys等 忘记了语句,不会用?help()函数 不用了,要退出?exit()函数,5,目录,1,python概述,2,变量和内建数据类型,3,语句,4,函数,5,标准库模块,6,程序调试,6,变量和数据类型,7,数字 number,整数: 12 0 -12987 0x1a2 class int

3、十六进制是以 0x 开头, 数字范围为 0-9 和a-f 浮点数: 12.03 1e1 -1.54e-21 class float 精度和范围与 c语言的 double型相同 复数: 1+3j class complex,8,数字表达式,通常的数字表达式运算符: +, -, /, *, *, %, / 运算优先级和括号正常工作,9,逻辑表达式(布尔表达式)boolean,true 和 false 为预定义值; 实际上是整数1 和 0 值 0 作为 false, 所有其他值是 true 常见的布尔表达式运算符: not, and, or,10,字符串 string,单引号和双引号均可用于字符串

4、生成一样的字符串值 字符串中的特殊符号 : n newline, t tab, others 三引号(单、双均可)用于大块的文本内容,11,字符串转换,数据类型转换需要用到函数: str, int, float 函数 eval 将一个字符串解释为 python 表达式,12,字符串运算符,13,改变字符串:不行,python中的字符串不可修改! 如果你真的要改变一个字符串:用旧的字符串片段生成一个新的,14,字符串 方法,字符串有一组built-in (内建,内置,内嵌)方法 没有方法可以改变原串! 有几个方法可以生成新串,15,字符串格式化,当有多个项需要格式化的时候,要用元组(tuples

5、)作为操作符 元组的长度必须匹配格式化项数 不能用列表类型 list,16,字符串格式化,17,列表 list,有序的对象序列; 排列 异质的; 可以包含任意类型的对象的混合,18,列表 list 操作,列表是可变的,可以改变局部 列表是动态的,大小可变,19,列表的方法, 第1部分,列表有一组内建的方法 有些方法会从内部改变列表,20,列表的方法, 第2部分,使用内建的 sort 方法: 高效 排序是内部进行的,不产生新表,21,转字符串为列表,split 对于简单的分解分析很有用 否则要用正则表达式模块 re,22,对象、名字和引用,所有的值都是对象 一个变量是一个引用对象的名字 一个对象

6、可能有多个名字引用它 这个特性在内部修改对象的时候很重要! 你可能不得不做出适当的拷贝来得到你要的效果 对不可变对象 (数字,字符串), 这永远不是问题,23,字典 dictionary,关键字/值 对的无序序列 每个关键字映射到一个值 也称为映射“mapping”, 哈希表 “hash table” 或查找表 lookup table,24,差点忘了: del,使用命令del 销毁数据 命令! 不是函数! 实际上移除变量 (名字), 不是对象,25,字典方法, 第1部分,26,字典方法, 第2部分,27,元组 tuple,和表 list 一样, 除了不可变 一旦生成,就不可改变 某些函数会返

7、回元组,28,目录,1,python概述,2,变量和内建数据类型,3,语句,4,函数,5,标准库模块,6,程序调试,29,在idle中编写脚本,现在我们要编写合适的脚本并保存到文件中 在idle中: file new window 直接点击 save as 打开目录 desktop 创建一个文件夹 python course 进入这个文件夹 输入文件名 t1.py 保存 在这个叫 t1.py的窗口中 输入下述代码: 保存这个文件: ctrl-s,或者进入菜单 file, save 运行这个脚本: 按f5, 或者进入菜单 run, run module,30,if 语句; 块结构,python的

8、一个让人又爱又恨的特性就是块结构 块结构由缩进确定 编辑一个新的文件t2.py 在窗口 t1.py 中点击 file, new window, 之后 save as 应用 if 命令,31,字典 dictionary 比 if elif更好,特别地,对于那些硬编码的选择 (elifs) 更紧凑,更高效 这个模式非常有用,32,内嵌类型与它们的布尔解释,33,for 语句,对一个块语句的重复执行 对一个序列进行迭代遍历 (list, tuple, string, iterator,34,while 语句,对一个块语句的重复 不断循环执行,直到判断变成false或者出现break,35,循环中可选

9、的else 区块,如果没有遇到break则执行else 区块 经常用来取代success/failure 标记 对 for 与 while 循环都适用,36,异常处理: try 与 except,程序运行中的错误经常会导致执行失败 错误信息能报告出错类型 使用 try, except 来捕获并处理异常,37,如何分段很长的行,有时,一行代码需要被切为多行显示 缩进规则意味着我们没有自由的形式可用,38,目录,1,python概述,2,变量和内建数据类型,3,语句,4,函数,5,标准库模块,6,程序调试,39,函数参数: 固定参数、可变参数,参数数量固定 与顺序相关,可以有任意数量个参数 当所需

10、参数数量未知时十分有用 参数会保存在一个 元组tuple中 按照习惯,命名为 args * 是用来区分的标记,40,函数参数: 默认值,参数可以有默认值 当调用时没有给定参数,会采用默认值 如果既没有默认值,调用时也没有给出参数,那么崩溃 显式调用参数,改变参数顺序,41,函数参数: 关键字,关键字/值 参数 参数会被保存进字典dictionary 习惯命名成 kwargs * 是用来区分的标记 首先尝试匹配已有的参数名称,42,函数参数: 显式变量类型检查,使用 assert 命令 检查布尔表达式是否为真,否则就是异常 可以在代码中任一点使用用于健壮性测试 可选择性添加错误提示信息,43,函

11、数参数: 局部变量,参数为局部变量 不可变变量的值通过复制赋值 可变变量的值依然可被改变: 但是要小心 在def 区块内定义的变量都是局部变量 先无视return,44,没有 return的函数: none值,一个函数不一定要有 return 命令 如果没有,则与其他编程语言中的 procedure 功能一样 实际上函数默认总是会返回一个值: none 一个没有值的return完全是可以的: returns none none 是一个特殊的值,意味着 什么都没有 在很多环境下很有用 尤其是在面向对象的编程的问题中,45,math 模块: 函数与常数,模块使用一瞥 数学函数在一个单独的模块中,4

12、6,函数是对象,函数名是引用,函数只是另一种对象罢了 函数名没什么特别的:可以被改变,47,内嵌函数 map、filter,map是一个操作列表的内嵌函数 map需要一个函数与一个列表作为参数 这个函数限定为只有一个参数输入,一个返回输出 这个函数要依次作用到这个列表上的每一个元素 转换结果作为一个列表返回,48,文件操作: 读,一个文件操作对象由内嵌函数 open创建 文件对象有一系列函数 read函数可以从文件中获取数据队列 read: 读取整个文件 (或者说n 字节),返回一个单独的字符串 readline: 读取一行 (然后跳到新的一行) readlines: 读取所有的行,返回一个字

13、符串的列表,49,文件操作: 写,write 函数只是简单地输出给定的字符串 字符串不一定是ascii码,二进制串也是可以的,50,文件操作: 用 for 循环读取,迭代使用 for循环一行行读取文件 推荐用法,51,文件操作, 老式的读取策略,52,目录,1,python概述,2,变量和内建数据类型,3,语句,4,函数,5,标准库模块,6,程序调试,53,模块 re, part 1,正则表达式:正则表达式就是记录文本规则的代码,是高级字符串模式 定义一个模式:定义模式的语法与 perl 或者 grep的很相似 把它应用到一个字符串上 处理结果,如果你不觉得正则表达式很难读写的话,要么你是一个

14、天才,要么,你不是地球人,54,模块 sys,sys.argv 命令行执行时使用的参数列表; sys.argv0是这个脚本的名字 sys.path 用来寻找模块的目录路径的列表 sys.platform 一个用来表示当前操作系统的字符串,sys.stdout, sys.stdin, sys.stderr 预定义的文件处理对象,用于 输入/输出 print的东西会传给 sys.stdout 也可以设置成给其他文件 sys.exit(n) 强制退出 python 执行 n 是一个整数错误代码, 通常是 0,55,模块 os,os.getcwd():返回当前目录,os.chdir(path):把当前

15、路径切换到 path os.listdir(path):返回 path下的文件夹目录列表 os.mkdir(path):创建一个目录 path os.rmdir(path):删除目录 path os.remove(path):删除文件 path,56,模块 os,os.system(command) 在子进程中执行shell命令 (字符串string) 返回一个整数错误码 os.path.exists(path):路径是否存在,是目录还是文件 os.path.isfile(path):路径是一个文件吗 os.path.isdir(path):路径是一个目录吗,os.path.abspath(p

16、ath):返回给定的相对路径的绝对路径,57,目录,1,python概述,2,变量和内建数据类型,3,语句,4,函数,5,标准库模块,6,程序调试,58,程序调式:idle,在shell中打开debugger选项 debug control中进行查看控制 在idle编辑器中可以设置断点,59,程序调式:pdb,pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,import pdb a = aaa pdb.set_trace() b = bbb c = ccc final = a + b + c print (final,c:usersdengdide

17、sktopt2.py(4)() - b = bbb (pdb) list 1 import pdb 2 a = aaa 3 pdb.set_trace() 4 -b = bbb 5 c = ccc 6 final = a + b + c 7 print (final) eof (pdb) next c:usersdengdidesktopt2.py(5)() - c = ccc (pdb) pp a aaa (pdb,60,程序调式:pdb,pdb) help documented commands (type help ): = eof c d h list q rv undisplay a cl debug help ll quit s unt alias clear disable i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论