python讲义01基础知识.ppt_第1页
python讲义01基础知识.ppt_第2页
python讲义01基础知识.ppt_第3页
python讲义01基础知识.ppt_第4页
python讲义01基础知识.ppt_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

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

文档简介

1、Python课程教师信息: 张端,计算机学院,赵傲,计算机学院,助教第1章基础知识,主 要 内 容,Python是一种怎样的语言 如何选择Python版本 Python安装与简单使用 Python基础知识 Python代码规范 Python文件名 Python脚本的“_name_” 编写自己的包与模块 Python快速入门,3,1.0 Python是一种怎样的语言,计算机(Computer)的概念 根据指令操作数据的机器 计算机功能:指对数据的操作,表现为数据计算、 输入输出处理和结果存储等 必须告知计算机如何操作,计算机才会完成计算 计算机

2、程序:为了完成某项任务,解决某个问题由计算机执行的一系列指令(步骤),4,1.0 Python是一种怎样的语言,程序设计语言的历史 机器语言:二进制代码表示的一种机器指令的集合 汇编语言:在机器语言上增加了人类可读的助记符 高级语言:向自然语言靠近的语言,5,1.0 Python是一种怎样的语言,6,Python由 “龟叔”Guido van Rossum在1989创建,1.0 Python是一种怎样的语言,Python的要求: 1994年,Python 1 2000年,Python 2 2008年,Python 3(本课程使用Python 3.6.x) 更高级别的3.0系列不兼容早期2.0系

3、列 2011年1月,TIOBE将Python评为编程语言排行榜2010年度语言 2017年7月,IEEE Spectrum编程语言排行榜中Python直接上升到了第1位 Python 3.x系列已经开始全面普及,成为一种必然的趋势,7,1.0 Python是一种怎样的语言,Python是一门跨平台、开源、免费的解释型高级动态编程语言 伪编译,Python源程序转换为字节码,Jython py2exe工具将Python程序转换为扩展名为“.exe”的可执行程序 Python支持 命令式编程 函数式编程 面向对象编程 支持各领域的扩展库 Python为“胶水”语言,与不同语言编写的程序无缝拼接 优

4、点:明确,简单,优雅,减轻构思性脑力劳动;缺点:慢,略提高记忆性脑力劳动 在科学计算、大数据、人工智能等领域应用越来越广泛,8,1.0 Python是一种怎样的语言,9,1.0 Python是一种怎样的语言,10,1.0 Python是一种怎样的语言,如何学习Python,对过程的要求: 根据Python的特点,注重记忆和理解 系统学习和点滴学习并重,前半学期更注重后者 PPT上红色部分代表第一次出现的、难点、重点 课后必须将书本或者PPT看3遍, 第一遍理解 第二遍浓缩,PPT上的红色部分 第三遍记忆 独立完成作业和实验,熟练掌握重要示例 至考前书本或者PPT阅读次数必须达到6遍以上,11,

5、1.1 如何选择Python版本,安装好Python以后,在“开始”菜单中启动“IDLE(Python GUI)”即可启动Python解释器并可以看到当前安装的Python版本号。 如果您喜欢的话,也可以启动“Python(command line)”来开始美妙的Python之旅。 在“IDLE(Python GUI)”和“Python(command line)”两种界面中,都以三个大于号“”作为提示符,在提示符后面输入要执行的语句。,12,1.1 如何选择Python版本,2.x:一边鄙视一边用 3.x:必然的趋势,本课程主要对象 多版本共存与切换简便方法:更改系统环境变量path 查看已

6、安装版本的方法(在所启动的IDLE界面也可以直接看到): import sys sys.version sys.version_info,13,1.1 如何选择Python版本,如安装多个不同的版本,例如同时安装Python 2.7.8和Python 3.4.2,并根据不同的开发需求在两个版本之间进行切换。 只需要启动相应版本的IDLE即可。 在命令提示符环境中运行Python程序时 在调用Python主程序时指定其完整路径 修改系统Path变量来实现不同版本之间的切换,14,1.2 Python安装与简单使用,1. 打开Python官网/,如下图选择

7、,15,1.2 Python安装与简单使用,2. 下载exe后缀的可执行文件,根据自己系统选择32位或64位,16,1.2 Python安装与简单使用,3. 执行下载的安装文件,选择Customize installation,17,1.2 Python安装与简单使用,4. 选择Next,18,1.2 Python安装与简单使用,5. 修改安装地址,选择Install,19,1.2 Python安装与简单使用,6. 验证是否环境变量是否设置,按win+R,输入cmd,键入python,出席python版本号说明环境变量设置成功。,20,1.2 Python安装与简单使用,7. 否则在控制面板-

8、系统-高级系统设置-环境变量设置-系统变量中的Path项加上Python安装目录。,21,1.2 Python安装与简单使用,安装好以后,默认以IDLE为开发环境,当然也可以安装使用其他的开发环境,例如PythonWin。以IDLE为例,使用交互式编程模式, IDLE提示符“” 回车,看执行结果,执行出错否抛出异常。 3+5 8 import math math.sqrt(9) 3.0 3*(2+6) 24 2/0 Traceback (most recent call last): File , line 1, in 2/0 ZeroDivisionError: integer divisi

9、on or modulo by zero,22,1.2 Python安装与简单使用,23,1.2 Python安装与简单使用,第一个程序Hello World第一种方式:shell方式或者交互方式 在IDLE界面中提示符之后键入代码输入代码 print(Hello World) #代码 Hello World #输出 # 1. 函数print(Hello world)在显示器上打印()中的内容 # 2.Hello world为字符串,引号不能少 # 3. 引号 和括号( ),必须是英文符号,24,1.2 Python安装与简单使用,第一个程序Hello World第二种方式:文件方式 在IDL

10、E界面中使用菜单“File”=“New File”创建一个程序文件 输入代码并保存为文件,务必要保证扩展名为“.py”, 如果是GUI程序可以保存为“.pyw”文件。 菜单“Run”=“Check Module”来检查程序中是否存在语法错误 菜单“Run”=“Run Module”运行程序,程序运行结果将直接显示在IDLE交互界面上。 执行上述两项操作时系统会要求先保存文件 假设有程序HelloWorld.py内容如下: print(Hello world),25,1.2 Python安装与简单使用,26,1.2 Python安装与简单使用,27,1.2 Python安装与简单使用,关于执行的

11、补充: 也可以通过在资源管理器中双击扩展名为“.py”或“.pyc”的Python程序文件直接运行; 可命令提示符环境中运行Python程序文件,按win+R,键入cmd,回车,转至HelloWorld.py所在目录,键入python HelloWorld.py;,28,1.2 Python安装与简单使用,在实际开发中,如果您能够熟练使用集成开发环境IDLE提供的一些快捷键,将会大幅度提高您的编写速度和开发效率。在IDLE环境下,除了撤销(Ctrl+Z)、全选(Ctrl+A)、复制(Ctrl+C)、粘贴(Ctrl+V)、剪切(Ctrl+X)等常规快捷键之外,其他比较常用的快捷键如下表所示。,2

12、9,1.2 Python安装与简单使用,其他常用集成开发环境IDLE: Anaconda( PyCharm,30,1.2 Python安装与简单使用,Anaconda中的Spyder,31,1.2 Python安装与简单使用,作业 回顾Python历史,课外阅读Python简史 在机房或者手机、 本地电脑上安装Python环境,手机上请在应用市场找到并安装QPython3 APP 上机编写第一个示例程序 Hello World,尝试将print函数拼写错误等,查看输出结果,32,1.3* 使用pip管理第三方包,Python3安装包默认包含pip,或在 https:/pypi.python.o

13、rg/pypi/pip 下载get-pip.py文件 安装方法:win+R,cmd=python get-pip.py 用法示例 pip install NumPy #安装Numpy包 pip list #列出已安装包 pip install -upgrade SomePackage #升级SomePackage包 pip uninstall SomePackage #卸载SomePackage包,33,1.4 Python基础知识,对象模型 基本数据类型 变量 运算符与表达式 内置函数,34,1.4.1 Python的对象模型,概念引入:值和类型 值(Value):程序操作的最基本的东西,字

14、母,或者数字 类型(Type):数据从不同角度看有不同的含义使用type()查看类型 type(2) #整数 type(20.0) #浮点数 type(Hello World!) #字符串,35,1.4.1 Python的对象模型,对象是python语言中最基本的概念,在python中处理的均为对象。 内置对象 可供编程者使用,内置对象可直接使用,如数字、字符串、列表、del等; 非内置对象 需要导入模块才能使用,如正弦函数sin(x),随机数产生函数random( )等。,36,1.4.1 Python的对象模型,常用内置对象,37,1.4.2 Python变量,在Python中有: 常量(

15、Literal Constants):值不发生改变的元素,这里的值用的就是字面意义上的值或者内容。 例:5、 1.23、 这是一串文本、 This is a string“ 变量(Variable):就是某个值的标签,38,1.4.2 Python变量,39,1.4.2 Python变量,在Python中,不需要事先声明变量名及其类型(方便,函数声明等场合也会有麻烦),直接赋值即可创建各种类型的对象变量。例如语句 x = 3 创建了整型变量x,并赋值为3,3是常量,x是变量 x = Hello world. 创建了字符串变量x,并赋值为Hello world.。这一点适用于Python任意类型

16、的对象。 注意: Python解释器会根据赋值或运算来自动推断变量类型。 Python仍属于强类型编程语言,40,1.4.2 Python变量,使用变量时需要程序员确定所进行的运算是否合适,避免出现异常。同一个运算符对于不同类型数据操作的含义和计算结果也是不一样的。 Python还是一种动态类型语言,变量的类型是可以随时变化的。 x = 3 print(type(x) # type()返回变量类型 x = Hello world. print(type(x) x = 1,2,3 print(type(x) isinstance(3, int) #isinstance()用来测试对象是否为指定类

17、型 True isinstance(Hello world, str) True,41,1.4.2 Python变量,变量出现在赋值符或复合赋值运算符(例如+=、*=等等)左边表示创建变量或修改变量的值,在右边表示引用变量的值。这一点同样适用于使用下标来访问列表、字典等可变序列以及其他自定义对象中元素的情况。 x = 3 #创建整型变量 print(x*2) 9 x += 6 #修改变量值,效果上相当于 x = x+6 print(x) #读取变量值并输出显示 9 x = 1,2,3 #创建列表对象 print(x) 1, 2, 3 x1 = 5 #修改列表元素值 print(x) #输出显示

18、整个列表 1, 5, 3 print(x2) #输出显示列表指定元素 3,42,1.4.2 Python变量,字符串和元组属于不可变序列,不能通过下标来修改其中的元素值。 x = (1,2,3) print(x) (1, 2, 3) x1 = 5 #不能修改元组,出错。 Traceback (most recent call last): File , line 1, in x1 = 5 TypeError: tuple object does not support item assignment,43,1.4.2 Python变量,允许多个变量指向同一个值: x = 3 id(x) #获取

19、x的内存地址 1786684560 y = x id(y) 1786684560 为其中一个变量修改值以后,此变量内存地址将会变化: x += 6 id(x) 1786684752 y 3 id(y) 1786684560,44,1.4.2 Python变量,Python采用的是基于值的内存管理方式:如多个变量赋值相同,该值在内存中只有一份,多个变量指向同一块内存地址: x = 3 id(x) 10417624 y = 3 id(y) 10417624 y = 5 id(y) 10417600 id(x) 10417624 对于没有任何变量指向的值,Python自动将其删除,程序员一般情况下不

20、需要太多考虑内存管理的问题。 显式使用del命令删除不需要的值或显式关闭不再需要访问的资源,仍是一个好的习惯。,45,1.4.2 Python变量,变量名定义基本规则: 变量名必须以字母或下划线开头,但以下划线开头的变量在Python中有特殊含义; 变量名中不能有空格以及标点符号(括号、引号、逗号、斜线、反斜线、冒号、句号、问号等等); 不能使用关键字作变量名,可以导入keyword模块后使用print(keyword.kwlist)查看所有Python关键字; import keyword keyword.kwlist and, as, assert, break, class, conti

21、nue, def, del, elif, else, except, exec, finally, for, from, global, if, import, in, is, lambda, not, or, pass, print, raise, return, try, while, with, yield and = 3 SyntaxError: invalid syntax 不建议使用系统内置对象名称,如模块名、类型名或函数名以及已导入的模块名及其成员名作变量名,这将会改变其类型和含义,可以通过dir(_builtins_)查看所有内置模块、类型和函数; 变量名对英文字母的大小写敏感

22、,例如student和Student是不同的变量。,46,1.4.3 数字,数字是python中最常用的对象,属于不可变对象。 可以表示任意大小的数字。 a=99999999999999999999999999999999 a*a 9999999999999999999999999999999800000000000000000000000000000001L a*3 999999999999999999999999999999970000000000000000000000000000000299999999999999999999999999999999L,47,1.4.3 数字,整数:

23、十进制整数如,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,48,1.4.3 数字,浮点数又称小数, 15.0、0.37、-11.2、1.2e2、314.15e-2 1. 这里e改为E,效果完全相同;浮点数5.0与整数5不同 2. 一个浮点数a由两个数m和x来表示:

24、a = m bx。 3. m是定点小数,x是定点整数,m(即尾数)是形如d.ddd.ddd的p位数 4. python中浮点数精度有限,49,1.4.3 数字,复数: a = 3+4j b = 5+6j c = a+b c (8+10j) c.real #查看复数实部 8.0 c.imag #查看复数虚部 10.0 a.conjugate() #返回共轭复数 (3-4j) a*b #复数乘法 (-9+38j) a/b #复数除法 (0.6393442622950819+0.03278688524590165j),50,1.4.4 字符串,用单引号、双引号或三引号括起来的符号系列称为字符串 单引

25、号、双引号、三单引号、三双引号可以互相嵌套,用来表示复杂字符串。 abc、123、中国、Python 字符串属于不可变序列 空串表示为或 或或 三引号或表示的字符串可以换行,支持排版较为复杂的字符串;三引号还可以在程序中表示较长的注释。,51,1.4.4 字符串,1. 字符串合并 a=abc + 123 #生成新对象 2. 字符串格式化,即把对象按格式要求转换为字符串。 a = 3.6674 %7.3f % a 3.667 %d:%c%(65,65) 65:A My name is %s, and my age is %d%(Dong Fuguo,38) My name is Dong Fug

26、uo, and my age is 38 3. 转义字符 n:换行符 t:制表符 r:回车 :单引号 ”:双引号 :一个 ddd:3位八进制数对应的字符 xhh:2位十六进制数对应的字符 字符串界定符(引号)前面加字母r表示原始字符串,其中的特殊字符不进行转义,但字符串的最后一个字符不能是。,52,1.4.5 操作符和表达式,53,1.4.5 操作符和表达式,Python中的除法有“/”和“/”分别表示除法和整除运算。Python 3.x将其解释为真除法(无论任何类型都会保持小数部分) 。例如: 3/5 #除法 0.6 #除法的结果为浮点数 ,例10/2结果为5.0 3/5 0 3.0/5 0

27、.6 3.0/5 0.0 13/10 1 -13/10 #结果向下取整,也称“地板除” -2,54,1.4.5 操作符和表达式,运算符是“%”。 字符串格式化用法 对整数和浮点数计算余数。因精度影响,浮点数计算结果可能略有误差。 3.1%2 1.1 6.3%2.1 2.0999999999999996 6%2 0,55, 6.0%2 0.0 6.0%2.0 0.0 5.7%4.8 0.9000000000000004,较复杂运算举例:,1.4.5 操作符和表达式,Python中很多运算符有多重含义,具体含义取决于操作数的类型。例如“*”运算符:,56, 3*2 #整数相乘 6 2.0*3 #浮

28、点数与整数相乘 6.0 (3+4j)*2 #复数与整数相乘 (6+8j) (3+4j)*(3-4j) #复数与复数相乘 (25+0j), 1*5 #字符串重复 11111 a*10 #字符串重复 aaaaaaaaaa 1,2,3*3 #列表重复 1, 2, 3, 1, 2, 3, 1, 2, 3 (1,2,3)*3 #元组重复 (1, 2, 3, 1, 2, 3, 1, 2, 3) 3*a #字符串重复 aaa,列表:例如 8,7,5,3 或 ad, bnc,列表内容可改变, 元组:例如 (8,7,5,3) 或 (ad, bnc),元组内容不可改变,1.4.5 操作符和表达式,在Python中

29、的合法表达式:1 单个任何类型的对象或常数;2 使用运算符连接的变量和常量以及函数调用的任意组合。 a = 1,2,3 b = 4,5,6 c = a+b c 1, 2, 3, 4, 5, 6 d = map(str, c) d 1, 2, 3, 4, 5, 6 import math map(math.sin, c) 0.8414709848078965, 0.9092974268256817, 0.1411200080598672, -0.7568024953079282, -0.9589242746631385, -0.27941549819892586 Hello + + world

30、Hello world welcome * 3 welcome welcome welcome (welcome,*3).rstrip(,)+! welcome,welcome,welcome!,57,1.4.5 操作符和表达式,在Python中逗号“,”并不是运算符,而只是一个普通分隔符: a in b, a (False, a) a in (b, a) True x = 3, 5 x (3, 5) 3 = 3, 5 (True, 5) x = 3+5, 7 x (8, 7),58,1.4.6 常用内置函数,内置函数: 内置函数不需要导入任何模块即可使用 执行下面的命令可以列出所有内置函数

31、dir(_builtins_),59,1.4.6 常用内置函数,60,1.4.6 常用内置函数,61,1.4.6 常用内置函数,62,1.4.6 常用内置函数,ord()用来返回单个字符的序数或ASCII码 chr()用来返回介于0到255之间的某序数对应的字符 str()用来返回任意类型参数转换为字符串,63, ord(a) 97 ord(A) 65 chr(65) A chr(67) C chr(ord(A)+1) B, str(1) 1 str(1234) 1234 str(1,2,3) 1, 2, 3 str(1,2,3) (1, 2, 3) str(1,2,3) 1, 2, 3,1.

32、4.6 常用内置函数,id(obj)用来返回obj对象内存地址 type(obj)用来对象obj对象类型 Isinstance(obj,class)用来判断obj对象是否是class类型 len(obj)用来返回对象obj元素个数 range()此函数在下章详细介绍,本章只要求掌握最简单的用法,64, a=5 id(a) 1848574544 type(a) isinstance(a,str) False isinstance(a,int) True, b=range(6) #返回0开始到6之前整数的序列 list(b) 0, 1, 2, 3, 4, 5 len(b) 6 len(abc) 3

33、,1.4.6 常用内置函数,abs():取模(绝对值) pow(x,y):x的y次方,等价于x*y round(x,小数位数) : 标准圆整,不给出小数位数返回整数,功能非常接近于四舍五入,65, abs(-5) 5 abs(1+1j) 1.4142135623730951 pow(2,3) 8 pow(2,-3) 0.125, round(5.923) 6 round(-5.923) -6 round(21.5,-1) 20.0, round(1.55,1) 1.6 round(2.55,1) 2.5 round(2.550000001,1) 2.6,1.4.6 常用内置函数,max()、m

34、in()、sum()这三个内置函数分别用于计算列表、元组或其他可迭代对象中所有元素最大值、最小值以及所有元素之和, sum()只支持数值型元素的序列或可迭代对象, max()和min()则要求序列或可迭代对象中的元素之间可比较大小。例如下面的示例代码,首先使用,然后分别计算该列表的最大值、最小值和所有元素之和。 import random a= for i in range(10): a=a+random.randint(1,100) a 26, 31, 21, 22, 20, 86, 53, 8, 96, 54 print(min(a),max(a),sum(a),sum(a)/len(a)

35、 8 96 417 41.7,66,random是Python库,import random作用是引入该库,引入后才能使用该库中的对象。,random.randint() 随机生一个整数int类型,并指定这个整数的上限和下限值,上下限的值均可取。,random.random()函数是这个模块中最常用的方法了,它会生成一个随机的浮点数,范围在0.01.0之间 random.random() 0.27586129839759055,1.4.6 常用内置函数,int()、float()、complex()、str()这4个内置函数将其他类型强制转换为整数、浮点数、复数和字符串,如果不能转换这出错。,

36、67, int(2.1) #向下取整 2 int(2.9) 2 int(86) 86 int(86.9) #错误 float(80) 80.0 float(80) 80.0, str(2) 2 str(2.1) 2.1 complex(3.5) (3.5+0j),1.4.6 常用内置函数,两个帮助编程的内置函数: dir()函数可以查看指定模块中包含的所有成员或者指定对象类型所支持的操作 help()函数则返回指定模块或函数的说明文档。,68,1.4.7 对象的删除,在Python中具有自动内存管理功能或者垃圾回收机制,Python解释器会跟踪所有的值,一旦发现某个值不再有任何变量指向,将会自

37、动删除该值。 显式释放自己申请的资源是程序员的好习惯之一,也是程序员素养的重要体现之一。 在Python中,del命令来显式删除对象并解除与值之间的指向关系。删除对象时, 如果其指向的值还有别的变量指向则不删除该值。 如果删除对象后该值不再有其他变量指向,则删除该值。,69,1.4.7 对象的删除, x = 1,2,3,4,5,6 y = 3 z = y print(y) 3 del y #删除对象 print(y) Traceback (most recent call last): File , line 1, in print(y) NameError: name y is not de

38、fined print(z) 3 del z,70, print(z) Traceback (most recent call last): File , line 1, in print(z) NameError: name z is not defined del x1 #删除列表中指定元素 print(x) 1, 3, 4, 5, 6 del x #删除整个列表 print(x) Traceback (most recent call last): File , line 1, in print(x) NameError: name x is not defined,1.4.7 对象的删

39、除,del命令无法删除元组或字符串中的指定元素,而只可以删除整个元组或字符串,因为这两者均属于不可变序列。 x = (1,2,3) del x1 #错误 Traceback (most recent call last): File , line 1, in del x1 TypeError: tuple object doesnt support item deletion del x #可删除 print(x) Traceback (most recent call last): File , line 1, in print(x) NameError: name x is not def

40、ined,71,1.4.8 基本输入输出,用Python中输入:通过input( )函数来实现的,该函数返回输入的字符串,imput( )的一般格式为: x=input(提示:) Python 3.x中输出:使用print()函数 print(xxx,xxx,xxx)中的“,”将打成空格,72,1.4.8 基本输入输出,在Python 3.x中,不论用户输入数据时使用什么界定符,input()函数的返回结果都是字符串,需要将其转换为相应的类型再处理。,73, x = input(Please input:) Please input:3 print(type(x) x = input(Plea

41、se input:) Please input:1 print(type(x) x=int(input(Please input:) print(type(x) x = input(Please input:) Please input:1,2,3 print(type(x) #?如何转换,1.4.8 基本输入输出,print()函数基本输出的几个参数: 设置sep参数,作为数据间隔符: print(1,2,3,sep=:) 1:2:3 设置file参数,将重定向到文件: fp = open(r D:mytest.txt, a+) #打开文件,a追加模式,+读写模式 print(Hello,w

42、orld!, file = fp) fp.close() 设置end参数,实现输出内容之后不换行: for i in range(10): print(i, end= ) 0 1 2 3 4 5 6 7 8 9,74,1.4.9 模块的使用,在Python中,一个.py文件就称之为一个模块(Module) 使用模块有什么好处? 提高了代码的可维护性 可引用其他模块,减轻工作量,包括Python内置模块和第三方模块 避免函数名和变量名冲突 不同的人编写的模块名相同怎么办? 解决方法:引入包,包中含模块和下级包(子包),包相当与文件夹或目录。只要顶层的包名不与别人冲突,那所有模块都不会与别人冲突,

43、75,1.4.9 模块的使用,Python默认安装仅包含部分基本或核心模块,但用户可以安装的扩展模块,pip是管理模块的重要工具。 在Python启动时,仅加载了很少的一部分模块,在需要时由程序员显式地加载(可能需要先安装)其他模块。 可以使用import sys;sys.modules.items()显示所有预加载模块的相关信息。,76,1.4.9 模块的使用,import 模块名 import math math.sin(0.5) #求0.5的正弦 import random x=random.random( ) #获得0,1) 内的随机小数 y=random.random( ) n=ra

44、ndom.randint(1,100) #获得1,100上的随机整数 可以使用dir()函数查看任意模块中所有的对象列表(如import math; dir(math),如果调用不带参数的dir()函数,则返回当前脚本的所有名字列表。 可以使用help函数查看任意模块或函数的使用帮助。,77,1.4.9 模块的使用,from 模块名 import 对象名 as 别名, 可以减少查询次数,提高执行速度 from math import * #谨慎使用 from math import sin sin(3) 0.1411200080598672 from math import sin as f

45、#别名 f(3) 0.141120008059867,78,1.4.9 模块的使用,数学库(math)的使用,库中常用数学常数和函数,79,1.4.9 模块的使用,数学库示例 #导入数学库 import math #查看圆周率常数 math.pi 3.141592653589793 #求x的y次方pow(x,y) math.pow(math.pi,2) 9.869604401089358 #边长为8.3和10.58,两边夹角为37度的三角形面积计算 8.3*10.58*math.sin(37.0/180*3.1416)/2 26.423945174044125 from math import

46、 sqrt #引入数学库中的sqrt函数 sqrt(16) 4.0 from math import * #引入数学库中所有的函数 sqrt(16) 4.0,80,1.4.9 模块的使用,在3.x中重新导入需要使用imp模块的reload函数,例如当对xyz模块进行了修改后: fromimpimportreload reload(xyz) Python首先在当前目录中查找需要导入的模块文件,如果没有找到则从sys模块的path变量所指定的目录中查找。可以使用sys模块的path变量查看python导入模块时搜索模块的路径,也可以向其中append自定义的目录以扩展搜索路径。 import sy

47、s sys.path.append(/Users/michael/my_py_scripts) 在导入模块时,会优先导入相应的pyc文件,如果相应的pyc文件与py文件时间不相符,则导入py文件并重新编译该模块。,81,1.5 Python代码规范,(1)缩进 类定义、函数定义、选择结构、循环结构,行尾的冒号表示缩进的开始 python程序是依靠代码块的缩进来体现代码之间的逻辑关系的,缩进结束就表示一个代码块结束了。 同一个级别的代码块的缩进量必须相同。 一般而言,以4个空格为基本缩进单位,可以通过下面的方法进行代码块的缩进和反缩进: FortmatIndent Region/Dedent R

48、egion,82,1.5 Python代码规范,(2)注释 一个好的、可读性强的程序一般包含30%以上的注释。常用的注释方式主要有两种: 单行注释:以#开始,表示本行#之后的内容为注释 多行注释:包含在一对三引号.或.之间且不属于任何语句的内容将被解释器认为是注释 在IDLE开发环境中,可以通过下面的操作快速注释(Alt+3)/解除注释(Alt+4)大段内容: FormatComment Out Region/Uncomment Region,83,1.5 Python代码规范,(3)每个import只导入一个模块 (4)如果一行语句太长,可以在行尾加上来换行分成多行, 之后不能有任何其他符号

49、,包括空格和注释 。 a=1+2+3+4+5+6+7 +8+9+10 a 55 (5)必要的空格与空行 运算符两侧、函数参数之间、逗号两侧建议使用空格分开。 不同功能的代码块之间、不同的函数定义之间建议增加一个空行以增加可读性。 (6)适当使用异常处理结构进行容错,后面将详细讲解。 (7)软件应具有较强的可测试性,测试与开发齐头并进。,84,1.6 Python文件名,.py:Python源文件,由Python解释器负责解释执行。 .pyw:Python源文件,常用于图形界面程序文件。 .pyc:Python字节码文件,源文件经过编译而来,用于隐藏Python源代码和提高载入和运行速度。对于Python模块,第一次被导入时将被编译成字节码的形式,并在以后再次导入时优先使用“.pyc”文件,以提高模块的加载和运行速度。对于非模块文件,直接执行时并不生成“.pyc”文件,但可以使用py_compile模块的compile()函数进行编译以提高加载和运行速度。另外,Python还提供了co

温馨提示

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

评论

0/150

提交评论