Python程序设计 清华大学出版社 董付国第1章 基础知识..ppt课件_第1页
Python程序设计 清华大学出版社 董付国第1章 基础知识..ppt课件_第2页
Python程序设计 清华大学出版社 董付国第1章 基础知识..ppt课件_第3页
Python程序设计 清华大学出版社 董付国第1章 基础知识..ppt课件_第4页
Python程序设计 清华大学出版社 董付国第1章 基础知识..ppt课件_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

第1章基础知识 1 0Python是一种怎样的语言 解释型语言 伪编译胶水语言开源跨平台免费 自由软件强类型 动态类型自动内存管理面向对象有大量可用的库增加其他语言编写并编译的模块即可扩展功能 1 1Python版本之争 2 x 一边鄙视一边用3 x 必然的趋势多版本共存与切换简便方法 更改系统环境变量path查看已安装版本的方法 在所启动的IDLE界面也可以直接看到 importsys sys version 2 7 8 default Jun302014 16 08 48 MSCv 150064bit AMD64 sys version infosys version info major 2 minor 7 micro 8 releaselevel final serial 0 1 2安装Python https www python org https www python org doc http bugs python org 1 3使用pip管理第三方包 Python2中需要单独安装下载地址 https pypi python org pypi pip安装方法 cmd pythonget pip py用法示例pipinstallNumPypiplistpipinstall upgradeSomePackagepipuninstallSomePackagePython3安装包中已默认包含pip 1 4Python基础知识 1 4 1Python的对象模型 对象是python语言中最基本的概念 在python中处理的每样东西都是对象 python中有许多内置对象可供编程者使用 内置对象可直接使用 如数字 字符串 列表 del等 非内置对象需要导入模块才能使用 如正弦函数sin x 随机数产生函数random 等 1 4 1Python的对象模型 常用内置对象 1 4 2python的变量和引用 1 变量的创建x 3创建了变量x 不需要提前声明变量a b 3 5a b b a2 引用在python中从变量到对象的连接称为引用 x 3变量拥有自己的存储空间 变量连接到对象是该变量存储了对象单元的内存地址 并没有存储对象的值 1 4 2python的变量和引用 3 共享引用共享引用是指多个变量引用同一个对象 下面的语句使两个变量都引用同一个对象3 a 3 b a使用id函数可以查看对象的内存地址4 垃圾回收机制对于没有任何变量指向的值 Python自动将其删除 Python跟踪所有的值 并自动删除不再有变量指向的值 1 4 2python的变量和引用 5 对象类型的动态的 强类型 a 3 type a a 4 type a a 3 5 type a a 1 2 3 type a 1 4 2python的变量和引用 6 变量命名以字母或下划线 有特殊含义 开头变量名中不能有空格以及标点符号 括号 引号 逗号 斜线 反斜线 冒号 句号 问号等等 不要使用关键字 在keyword模块中 作变量名不要使用系统内置的模块名或函数名 可以通过dir builtins 查看 作变量名大小写敏感 1 4 3数字 数字是python中最常用的对象 属于不可变对象 可以表示任意大小的数字 a 99999999999999999999999999999999 a a9999999999999999999999999999999800000000000000000000000000000001L a 3999999999999999999999999999999970000000000000000000000000000000299999999999999999999999999999999LPython的IDEL交互界面可以当做简便计算器来使用 1 4 3数字 1 4 3 1整数十进制整数如 0 1 9 123十六进制整数 需要16个数字0 1 2 3 4 5 6 7 8 9 a b c d e f来表示整数 必须以0 x开头 如0 x10 0 xfa 0 xabcdef八进制整数 只需要8个数字0 1 2 3 4 5 6 7来表示整数 必须以0o开头 如0o35 0o11二进制整数 只需要2个数字0 1来表示整数 必须以0b开头如 0b101 0b100 1 4 3数字 1 4 3 2浮点数浮点数又称小数 15 0 0 37 11 2 1 2e2 314 15e 2 1 4 3数字 1 4 3 3复数Python中的复数与数学上的复数一致 由实部和虚部构成 并且使用j或J来表示虚部 a 3 4j b 5 6j c a b c8 10j c real 复数的实部8 0 c imag 复数的虚部10 0 a conjugate 3 4j 1 4 4字符串 用单引号 双引号或三引号括起来的符号系列称为字符串单引号 双引号 三单引号 三双引号可以互相嵌套 用来表示复杂字符串 abc 123 中国 Python 字符串属于不可变序列空串表示为 或 三引号 或 表示的字符串可以换行 支持排版较为复杂的字符串 三引号还可以在程序中表示较长的注释 1 4 4字符串 1 字符串合并 a abc 123 生成新对象2 字符串格式化把对象按格式要求转换为字符串 a 3 6674 7 3f a 或者直接使用str a 3 667 1 4 4字符串 3 转义字符 n 换行符 t 制表符 r 回车 单引号 双引号 一个 ddd 3位八进制数对应的字符 xhh 2位十六进制数对应的字符字符串界定符前面加字母r表示原始字符串 其中的特殊字符不进行转义 但字符串的最后一个字符不能是 1 4 5操作符和表达式 1 4 6常用内置函数 内置函数不需要导入任何模块即可使用执行下面的命令可以列出所有内置函数 dir builtins 1 4 6常用内置函数 1 4 6常用内置函数 1 4 7对象的删除 Python中删除对象用del语句 del用来删除一个对象 并释放对象所占资源 del的用法演示如下 a 1 2 3 dela 1 a 1 3 x 5 x5 delx 此后x就不存在了 1 4 8基本输入输出 用Python进行程序设计 输入是通过input 函数来实现的 imput 的一般格式为 x input 提示 该函数返回输入的对象 可输入数字 字符串和其它任意类型对象 1 4 8基本输入输出 输出是通过print语句来完成的 print语句的一般格式为 print对象1 对象2 对象n在Python3中 print是函数 而不是语句 1 4 8基本输入输出 在Python2 7 8之前的版本中进行重定向输出的用法 fp open r c mytest txt a print fp Hello world fp close 在Python3 4 2版本中进行重定向输出的用法 fp open r d mytest txt a print Hello world file fp fp close 1 4 9模块的使用 Python默认安装仅包含部分基本或核心模块 但用户可以安装大量的扩展模块 pip是管理模块的重要工具 在Python启动时 仅加载了很少的一部分模块 在需要时由程序员显式地加载 可能需要先安装 其他模块 减小运行的压力 仅加载真正需要的模块和功能 且具有很强的可扩展性 1 4 9模块的使用 import模块名 importmath math sin 0 5 求0 5的正弦 importrandom x random random 获得 0 1 内的随机小数 y random random n random randint 1 100 获得 1 100 上的随机整数可以使用dir函数查看任意模块中所有的对象列表 如果调用不带参数的dir 函数 则返回当前脚本的所有名字列表 可以使用help函数查看任意模块或函数的使用帮助 1 4 9模块的使用 frommathimportsin 可以减少查询次数 提高执行速度frommathimport 谨慎使用 frommathimportsin sin 3 0 1411200080598672 frommathimportsinasf 别名 f 3 0 141120008059867 1 4 9模块的使用 可以使用sys modules items 显示所有预加载模块的相关信息在2 x中可以使用reload函数重新导入一个模块 在3 x中 需要使用imp模块的reload函数Python首先在当前目录中查找需要导入的模块文件 如果没有找到则从sys模块的path变量所指定的目录中查找 可以使用sys模块的path变量查看python导入模块时搜索模块的路径 也可以向其中append自定义的目录以扩展搜索路径 在导入模块时 会优先导入相应的pyc文件 如果相应的pyc文件与py文件时间不相符 则导入py文件并重新编译该模块 1 4 9模块的使用 ossysmathLocale 提供了C语言本地化函数的接口 并提供相关函数实现基于当前locale设置的数字与字符串转换randomstructpickle 序列化datetimetimewmi 需安装tkinter GUI开发urllib urllib2 网页编程Pygame 游戏开发tkinter wxPython GUI编程SciPy 科学计算PIL 图像处理fabric 远程操作与部署 http docs fabfile org en 1 10 capstone 反汇编框架ropper ROP相关框架IDAPython IDA插件 1 5Python代码规范 1 缩进类定义 函数定义 选择结构 循环结构 行尾的冒号表示缩进的开始python程序是依靠代码块的缩进来体现代码之间的逻辑关系的 缩进结束就表示一个代码块结束了 同一个级别的代码块的缩进量必须相同 一般而言 以4个空格为基本缩进单位 可以通过下面的方法进行代码块的缩进和反缩进 Fortmat IndentRegion DedentRegion 1 5Python代码规范 2 注释一个好的 可读性强的程序一般包含30 以上的注释 常用的注释方式主要有两种 以 开始 表示本行 之后的内容为注释包含在一对三引号 或 之间且不属于任何语句的内容将被解释器认为是注释在IDLE开发环境中 可以通过下面的操作快速注释 解除注释大段内容 Format CommentOutRegion UncommentRegion 1 5Python代码规范 3 每个import只导入一个模块 4 如果一行语句太长 可以在行尾加上 来换行分成多行 但是更建议使用括号来包含多行内容 5 必要的空格与空行运算符两侧 函数参数之间 逗号两侧建议使用空格分开 不同功能的代码块之间 不同的函数定义之间建议增加一个空行以增加可读性 6 适当使用异常处理结构进行容错 后面将详细讲解 7 软件应具有较强的可测试性 测试与开发齐头并进 后面将详细讲解 1 6Python文件名 py Python源文件 pyc Python字节码文件 对于Python模块 第一次被导入时将被编译成字节码的形式 以提高脚本的启动速度 对于非模块文件 直接执行时并不生成pyc文件 可以使用py compile模块的compile函数进行编译 pyo 优化的Python字节码文件 可以使用 python Ofile py 或 python OOfile py 进行优化编译 1 7Python程序的运行方式 每个Python脚本在运行时都有一个 name 属性 如果脚本作为模块被导入 则其 name 属性被设置为模块名 如果脚本独立运行 则其 name 属性被设置为 main 1 8编写自己的包与模块 包可以看做处于同一目录中的模块 在包的每个目录中都必须包含一个 init py文件 该文件可以是一个空文件 仅用于表示该目录是一个包 init py文件的主要用途是设置 all 变量以及所包含的包初始化所需的代码 其中 all 变量中定义的对象可以在使用from import 时全部正确导入 1 9Python快速入门 问题1 用户输入一个三位自然数 计算并输出其佰位 十位和个位上的数字 x input 请输入一个三位数 a x 100b x 10 10 或b x 100 10c x 100 a 10 b 或c x 10printa b c 1 9Python快速入门 问题2 已知三角形的两边长及其夹角 求第三边长 importmathx input 输入两边及夹角 度 a b sita xc math sqrt a 2 b 2 2 a b math cos sita math pi 180 print c c 1 9Python快速入门 上面的代码也可以写成这样 虽然减少了需要输入的代码 但一般不建议这样做 frommathimport x input 输入两边及夹角 度 a b sita xc sqrt a 2 b 2 2 a b cos sita pi 180 print c c 1 9Python快速入门 这样就可以了 frommathimportsqrtx input 输入两边及夹角 度 a b sita xc sqrt a 2 b 2 2 a b cos sita pi 180 print c c 1 9Python快速入门 问题3 任意输入三个英文单词 按字典顺序输出 s input x y z x y z s split ifx y x y y xifx z x z z xify z y z z yprint x y z 1 10TheZenofPython Beautifulisbetterthanugly Explicitisbette

温馨提示

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

评论

0/150

提交评论