Python-基础知识

上传人:cl****1 文档编号:569501706 上传时间:2024-07-30 格式:PPT 页数:46 大小:482KB
返回 下载 相关 举报
Python-基础知识_第1页
第1页 / 共46页
Python-基础知识_第2页
第2页 / 共46页
Python-基础知识_第3页
第3页 / 共46页
Python-基础知识_第4页
第4页 / 共46页
Python-基础知识_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《Python-基础知识》由会员分享,可在线阅读,更多相关《Python-基础知识(46页珍藏版)》请在金锄头文库上搜索。

1、第第1 1章基础知识章基础知识1课程概要主要内容:主要内容:1.1.基础知识基础知识2.2.数据结构数据结构3.3.字符串与正则表达式字符串与正则表达式4.4.函数函数5.5.面向对象程序设计面向对象程序设计6.6.文件和异常处理文件和异常处理7.7.GUIGUI编程编程8.8.数据库编程数据库编程9.9.多媒体编程多媒体编程n n教材:教材:1.1.董付国,董付国,PythonPython程序设计,清华大学出版社程序设计,清华大学出版社2.2.Magnus Lie HetlandMagnus Lie Hetland,PythonPython基础教程,人民邮电出版社基础教程,人民邮电出版社3.

2、3.Mark LutzMark Lutz,PythonPython学习手册,机械工业出版社学习手册,机械工业出版社21.1 Python是一种怎样的语言Python Python 是一种面向对象、解释型计算机程序设计语言,是一种面向对象、解释型计算机程序设计语言,由由Guido van RossumGuido van Rossum于于19891989年发明,第一个公开发行版年发明,第一个公开发行版发行于发行于19911991年。年。Python命名命名是因为他是一是因为他是一个叫个叫Monty Python的喜剧的喜剧团体的爱好者。团体的爱好者。31.1 Python是一种怎样的语言跨平台和兼

3、容性非常好,可运行在跨平台和兼容性非常好,可运行在多种计算机平台和操作系统中,如多种计算机平台和操作系统中,如各位各位unixunix,windowswindows,MacOSMacOS,OS/2OS/2等等等等自动内存回收。这个特点使得程序自动内存回收。这个特点使得程序员在编程的时候,可以不考虑程序员在编程的时候,可以不考虑程序运行中的内存管理,而专注于自己运行中的内存管理,而专注于自己的逻辑处理。的逻辑处理。面向对象特性(面向对象特性(object_oriented object_oriented ProgrammingProgramming)。)。41.1 Python是一种怎样的语言强

4、大的动态数据类型支持,不同数据类型相加会引发一个异常。强大的动态数据类型支持,不同数据类型相加会引发一个异常。强大的类库支持,使编写文件处理、正则表达式,网络连接等程序变强大的类库支持,使编写文件处理、正则表达式,网络连接等程序变得相当容易。得相当容易。PythonPython的交互命令行模块能方便地进行小代码调试和学习。的交互命令行模块能方便地进行小代码调试和学习。PythonPython易于扩展,可以通过易于扩展,可以通过C C或或C+C+编写的模块进行功能扩展。编写的模块进行功能扩展。系统编程,提供大量系统接口系统编程,提供大量系统接口APIAPI,能方便进行系统维护和管理。,能方便进行

5、系统维护和管理。图形处理,有图形处理,有PILPIL、TkinterTkinter等图形库支持,能方便进行图形处理。等图形库支持,能方便进行图形处理。数学处理,数学处理,NumPyNumPy扩展提供大量与许多标准数学库的接口。扩展提供大量与许多标准数学库的接口。文本处理,文本处理,PythonPython提供的提供的rere模块能支持正则表达式,还提供模块能支持正则表达式,还提供SGMLSGML,XMLXML分析模块,许多程序员利用分析模块,许多程序员利用PythonPython进行进行XMLXML程序的开发。程序的开发。数据库编程,程序员可通过遵循数据库编程,程序员可通过遵循Python D

6、B-APIPython DB-API(数据库应用程序编(数据库应用程序编程接口)规范的模块与程接口)规范的模块与Microsoft SQL ServerMicrosoft SQL Server、OracleOracle、SybaseSybase、DB2DB2、MysqlMysql等数据库通信。等数据库通信。PythonPython自带有一个自带有一个GadflyGadfly模块,提供了模块,提供了一个完整的一个完整的SQLSQL环境。环境。56作为作为WebWeb应用的开发语言,支持最新的应用的开发语言,支持最新的XMLXML技术。技术。近年来随着游戏产业的兴起,近年来随着游戏产业的兴起,Py

7、thonPython开始越来越多的涉足游开始越来越多的涉足游戏领域。戏领域。PygamePygame是是PythonPython开发游戏的一个库,关于开发游戏的一个库,关于PygamePygame具体可参考网站。具体可参考网站。1.1 Python是一种怎样的语言1.2 Python编辑与运行环境下载和安装下载和安装下载和安装下载和安装Python Python http:/http:/运行运行运行运行PythonPython GUI:GUI:1.1.命令提示符下命令提示符下 C:Python27 helloworld.py C:Python27 helloworld.py2 2. .默认编程

8、环境默认编程环境IDLEIDLE(Integrated Development Integrated Development EnvironmentEnvironment) import helloworld import helloworld 注:紫色的符号是一些方法,橘红色一般是关键字,绿色是文注:紫色的符号是一些方法,橘红色一般是关键字,绿色是文本,红色是注释部分,剩下的就是黑色了本,红色是注释部分,剩下的就是黑色了3 3.Python(command line).Python(command line) import helloworld import helloworld n其他可选

9、开发环境:wxPython、Jython、Cython71.2 Python编辑与运行环境查看已安装版本的方法(在所启动的查看已安装版本的方法(在所启动的IDLEIDLE界面也可以直接界面也可以直接看到):看到): import sys import sys sys.version sys.versionn n常用快捷键:常用快捷键: Alt+PAlt+P、Alt+NAlt+N:浏览历史命令:浏览历史命令 Ctrl+F6Ctrl+F6:重启:重启ShellShell,之前定义的对象全部无效,之前定义的对象全部无效 F1F1:打开:打开PythonPython帮助文档帮助文档 Ctrl+Ctrl

10、+、Ctrl+Ctrl+:缩进代码:缩进代码 Alt+3Alt+3、Alt+4Alt+4:注释、取消:注释、取消注释注释8关于关于关于关于PythonPython的资源的资源的资源的资源 中文的简明中文的简明PythonPython教程教程 挑战智商的挑战智商的PythonPython在线测试:在线测试: 编程趣味学习网站编程趣味学习网站http:/ PygamePygame学习网站学习网站1.2 Python编辑与运行环境91.3 Python基础知识基础知识1. 1.3 3.1 Python.1 Python的对象模型的对象模型的对象模型的对象模型 对象是对象是pythonpython语言

11、中最基本的概念,在语言中最基本的概念,在pythonpython中处理的每样东西都是对象。中处理的每样东西都是对象。pythonpython中有中有许多内置对象可供编程者使用,内置对象可直接许多内置对象可供编程者使用,内置对象可直接使用,如数字、字符串、列表、使用,如数字、字符串、列表、deldel等;非内置对等;非内置对象需要导入模块才能使用,如正弦函数象需要导入模块才能使用,如正弦函数sin(x)sin(x),随机数产生函数随机数产生函数random( )random( )等。等。101.3.1 Python的对象模型的对象模型 常用内置对象常用内置对象对象类型对象类型对象类型对象类型示例

12、示例示例示例数字数字数字数字1234, 1234, 3.14, 3.14, 3+4j3+4j字符串字符串字符串字符串swfu, swfu, Im Im studentstudent, , Python Python 列表列表列表列表1, 2, 31, 2, 3字典字典字典字典1:food ,2:taste, 3:import1:food ,2:taste, 3:import元组元组元组元组(2, -5, 6)(2, -5, 6)文件文件文件文件f=open(data.dat, r)f=open(data.dat, r)集合集合集合集合set(abc), a, b, cset(abc), a,

13、b, c布尔型布尔型布尔型布尔型True, FalseTrue, False空类型空类型空类型空类型NoneNone编程单元类型编程单元类型编程单元类型编程单元类型函数、模块、类函数、模块、类函数、模块、类函数、模块、类111.3.2 python的变量和引用的变量和引用1.1.变量的创建变量的创建变量的创建变量的创建 x=3 x=3 创建了变量创建了变量x x,不需要提前声明变量,不需要提前声明变量 a,b=3,5 a,b=3,5 a,b=b,a a,b=b,a2.2.引用引用引用引用 在在pythonpython中从变量到对象的连接称为引用。中从变量到对象的连接称为引用。x=3x=3变量拥

14、有自己的存储空间,变量连接到对象是该变量存储了变量拥有自己的存储空间,变量连接到对象是该变量存储了对象单元的内存地址,并没有存储对象的值。对象单元的内存地址,并没有存储对象的值。x3变量对象引用121.3.2 python的变量和引用的变量和引用3. 3. 共享引用共享引用共享引用共享引用共享引用是指多个共享引用是指多个变变量引用同一个量引用同一个对对象。下面的象。下面的语语句使两句使两个个变变量都引用同一个量都引用同一个对对象象3 3a=3a=3b=ab=a使用使用idid函数函数可以查看对象的内存地址可以查看对象的内存地址4.4.垃圾回收机制垃圾回收机制 对于没有任何变量指向的值,对于没有

15、任何变量指向的值,PythonPython自动将其删除。自动将其删除。PythonPython跟踪所有的值,并自动删除不再有变量指向的值。跟踪所有的值,并自动删除不再有变量指向的值。131.3.2 python的变量和引用的变量和引用145.内存管理机制内存管理机制(1)垃圾回收)垃圾回收(2)引用计数)引用计数(3)内存池机制)内存池机制当申请的内存小于256字节时会在内存池中申请内存;当申请的内存大于256字节时,使用malloc申请内存。1.3.2 python的变量和引用的变量和引用5.5.对象类型的动态的,强类型对象类型的动态的,强类型 a=3 a=3 type(a) type(a)

16、 a=4 a=4 type(a) type(a) a=3,5 a=3,5 type(a) type(a) a=1,2,3 a=1,2,3 type(a) type(a)151.3.2 python的变量和引用的变量和引用6. 6. 变量命名变量命名以字母或下划线(有特殊含义)开头以字母或下划线(有特殊含义)开头变量名中不能有空格以及标点符号(括号、引号、逗号、变量名中不能有空格以及标点符号(括号、引号、逗号、斜线、反斜线、冒号、句号、问号等等)斜线、反斜线、冒号、句号、问号等等)不要使用关键字(在不要使用关键字(在keywordkeyword模块中)作变量名模块中)作变量名 import ke

17、yword import keyword keyword.kwlist keyword.kwlist不要使用系统内置的模块名或函数名(可以通过不要使用系统内置的模块名或函数名(可以通过dir(_builtins_)dir(_builtins_)查看变量名查看变量名大小写敏感大小写敏感161.3.3 数字数字是数字是pythonpython中最常用的对象,属于中最常用的对象,属于不可变对象不可变对象。可以表示任意大小的数字。可以表示任意大小的数字。 a=99999999999999999999999999999999 a=99999999999999999999999999999999 a*a

18、a*a999999999999999999999999999999980000000000000000000000009999999999999999999999999999999800000000000000000000000000000001L00000001L a*3 a*399999999999999999999999999999997000000000000000000000000999999999999999999999999999999970000000000000000000000000000000299999999999999999999999999999999L000000

19、0299999999999999999999999999999999LPythonPython的的IDELIDEL交互界面可以当做简便计算器来使用。交互界面可以当做简便计算器来使用。171.3.3 数字1.4.3.11.4.3.1整数整数十进制整数如,十进制整数如,0 0、-1-1、9 9、123123十六进制整数,需要十六进制整数,需要1616个数字个数字0 0、1 1、2 2、3 3、4 4、5 5、6 6、7 7、8 8、9 9、a a、b b、c c、d d、e e、f f来表示整数,必须以来表示整数,必须以0x0x开头,如开头,如0x100x10、0xfa0xfa、0xabcdef0

20、xabcdef八进制整数,只需要八进制整数,只需要8 8个数字个数字0 0、1 1、2 2、3 3、4 4、5 5、6 6、7 7来来表示整数,必须以表示整数,必须以0o0o开头,如开头,如0o350o35、0o110o11二进制整数、只需要二进制整数、只需要2 2个数字个数字0 0、1 1来表示整数,必须以来表示整数,必须以0b0b开头如,开头如,0b1010b101、0b1000b100181.3.3 数字1.4.3.21.4.3.2浮点数浮点数浮点数又称小数,浮点数又称小数,15.015.0、0.370.37、-11.2-11.2、1.2e21.2e2、314.15e-2314.15e-

21、2191.3.3 数字1. 1.4 4.3.3.3.3复数复数PythonPython中的复数与数学上的复数一致,由实部和虚部构成,中的复数与数学上的复数一致,由实部和虚部构成,并且使用并且使用j j或或J J来表示虚部。来表示虚部。a=3+4ja=3+4jb=5+6jb=5+6jc=a+bc=a+bcc8+10j8+10jc.real#c.real#复数的复数的实实部部8.08.0c.imagc.imag# #复数的虚部复数的虚部10.010.0 a.conjugate() a.conjugate()(3-4j)(3-4j)201.3.4字符串用单引号、双引号或三引号括起来的符号系列称为字符

22、串用单引号、双引号或三引号括起来的符号系列称为字符串单引号、双引号、三单引号、三双引号可以互相嵌套,用单引号、双引号、三单引号、三双引号可以互相嵌套,用来表示复杂字符串。来表示复杂字符串。abcabc、123123、 中国中国 、PythonPython字符串属于不可变序列字符串属于不可变序列 空串表示为空串表示为 或或 三引号三引号 或或表示的字符串可以换行,支持排版较为复杂表示的字符串可以换行,支持排版较为复杂的字符串;三引号还可以在程序中表示较长的注释。的字符串;三引号还可以在程序中表示较长的注释。211.3.4字符串1. 1. 字符串合并字符串合并字符串合并字符串合并 a=abc +

23、123 # a=abc + 123 #生成新对象生成新对象2. 2. 字符串格式化字符串格式化字符串格式化字符串格式化 把对象按格式要求转换为字符串。把对象按格式要求转换为字符串。a=3.6674a=3.6674%7.3f % a #%7.3f % a #或者直接使用或者直接使用str(a)str(a) 3.667 3.667221.3.4字符串3. 3. 转义字符转义字符转义字符转义字符nn:换行符:换行符:换行符:换行符t t:制表符:制表符:制表符:制表符r r:回车:回车:回车:回车 :单引号:单引号:单引号:单引号”:双引号:双引号:双引号:双引号 :一个:一个:一个:一个 dddd

24、dd:3 3位八进制数对应的字符位八进制数对应的字符位八进制数对应的字符位八进制数对应的字符xhhxhh:2 2位十六进制数对应的字符位十六进制数对应的字符位十六进制数对应的字符位十六进制数对应的字符 注:字符串界定符前面加字母注:字符串界定符前面加字母r r表示原始字符串,其表示原始字符串,其中的特殊字符不进行转义,但字符串的最后一个字符不能中的特殊字符不进行转义,但字符串的最后一个字符不能是是 。231.3.5 操作符和表达式操操 作作 符符描描 述述x+yx+y, x-yx-y加法加法字符串字符串合并合并 , 减法集合差集减法集合差集x*yx*y, x/yx/y, x/yx/y, x%y

25、x%y乘法重复,除法,求整商,余数格式化乘法重复,除法,求整商,余数格式化(对对实实数可以数可以进进行整除和余数运算)行整除和余数运算)x*yx*y幂幂运算运算xyxy, x=yxyxy, x=yx=y大小比大小比较较,集合的包含关系比,集合的包含关系比较较x=yx=y, x!=yx!=y相等比相等比较较(值)(值),不等比,不等比较较xoryxory逻辑逻辑或或 ( (只有只有x x为为假才会假才会计计算算y)y)xandyxandy逻辑逻辑与与( (只有只有x x为为真才会真才会计计算算y)y)notxnotx逻辑逻辑非非xiny,xnotinyxiny,xnotiny成员与集合的关系成员

26、与集合的关系xisy,xisnotyxisy,xisnoty对象实体测试对象实体测试(地址)(地址)| |、 、&、位运算符位运算符241.3.6 常用内置函数内置函数不需要导入任何模块即可使用内置函数不需要导入任何模块即可使用执行下面的命令可以列出所有内置函数执行下面的命令可以列出所有内置函数 dir(_builtins_) dir(_builtins_)251.4.6 常用内置函数函函 数数功功 能能abs(x)abs(x)返回数字返回数字x x的绝对值的绝对值bin(x)bin(x)把数字把数字x x转换为二进制串转换为二进制串chr(x)chr(x)返回返回编码为编码为x x的字符的字

27、符eval(s,globals,locals)eval(s,globals,locals)计计算字符串中表达式的算字符串中表达式的值值并返回并返回float(x)float(x)把数字或字符串把数字或字符串x x转换为浮点数并返回转换为浮点数并返回help(obj)help(obj)返回返回对对象象objobj的帮助信息的帮助信息hex(x)hex(x)把数字把数字x x转换为十六进制串转换为十六进制串id(obj)id(obj)返回返回对对象象objobj的标识的标识input(input(提示串提示串) )接受接受键盘输键盘输入,返回入,返回值值len(obj)len(obj)返回返回对对

28、象象objobj包含的元素个数包含的元素个数261.3.6 常用内置函数oct(x)oct(x)把数字把数字x x转换为八进制串转换为八进制串ord(s)ord(s)返回返回1 1个字符个字符s s的编码。的编码。chr(ord(3)+1)=4chr(ord(3)+1)=4range(start,range(start, end,step)end,step)返回返回一一个等差数列,不包括终值个等差数列,不包括终值round(x,round(x,小数位数小数位数) )对对x x进行四舍五入。若不指定小数位数,则返进行四舍五入。若不指定小数位数,则返回整数。回整数。str(obj)str(obj)

29、把把对对象象objobj转换为字符串转换为字符串int(x,d)int(x,d)返回数字整数部分,或把返回数字整数部分,或把d d进制的字符串进制的字符串x x转转换为十进制并返回,换为十进制并返回,d d默认为十进制默认为十进制list(x),set(obj),tuple(x)list(x),set(obj),tuple(x)把对象转换为列表、集合或元组并返回把对象转换为列表、集合或元组并返回max(x),min(x),sum(x)max(x),min(x),sum(x)返回序列中的最大值、最小值或数值之和返回序列中的最大值、最小值或数值之和pow(x,y)pow(x,y)返回返回x x的的

30、y y次方次方sorted(sorted(列表列表,cmp,keyreverse,cmp,keyreverse返回排序后的列表返回排序后的列表type(obj)type(obj)返回对象返回对象objobj的类型的类型271.3.7 对象的删除PythonPython中删除对象用中删除对象用deldel语句。语句。deldel用来删除一个对象,并释用来删除一个对象,并释放对象所占资源。放对象所占资源。deldel的用法演示如下:的用法演示如下:a=1, 2, 3a=1, 2, 3del a1del a1aa1, 31, 3x=5x=5xx5 5del x #del x #此后此后x x就不存在

31、了就不存在了 281.3.8 基本输入输出用用PythonPython进行程序设计,输入是通过进行程序设计,输入是通过input( )input( )函数来实现的,函数来实现的,imputimput( )( )的一般格式为:的一般格式为:x=input(x=input(提示:提示:) )该函数返回输入的对象。可输入数字、字符串和其它任意类该函数返回输入的对象。可输入数字、字符串和其它任意类型对象。型对象。291.3.8 基本输入输出输出是通过输出是通过printprint语句来完成的,语句来完成的,printprint语句的一般格式为:语句的一般格式为:print print 对象对象1, 1

32、, 对象对象2, . , 2, . , 对象对象n n在在Python3Python3中,中,printprint是函数,而不是语句。是函数,而不是语句。在在PythonPython中进行重定向输出的用法:中进行重定向输出的用法: fp = open(rc:mytest.txt,a+) fp = open(rc:mytest.txt,a+) print fp, Hello,world print fp, Hello,world fp.close() fp.close()301.3.9 模块的使用PythonPython默认安装仅包含部分基本或核心模块,但用户可以默认安装仅包含部分基本或核心模块

33、,但用户可以安装大量的扩展模块。安装大量的扩展模块。在在PythonPython启动时,仅加载了很少的一部分模块,在需要时启动时,仅加载了很少的一部分模块,在需要时由程序员显式地加载(可能需要先安装)其他模块。由程序员显式地加载(可能需要先安装)其他模块。减小运行的压力,仅加载真正需要的模块和功能,且具有减小运行的压力,仅加载真正需要的模块和功能,且具有很强的可扩展性。很强的可扩展性。311.3.9 模块的使用importimport模模块块名名importmathimportmathmath.sin(0.5)#math.sin(0.5)#求求0.50.5的正弦的正弦importrandomi

34、mportrandomx=random.random()#x=random.random()#获获得得0,1)0,1)内的随机小数内的随机小数y=random.random()y=random.random()n=random.randint(1,100)#n=random.randint(1,100)#获获得得1,1001,100上的随机整数上的随机整数可以使用可以使用dirdir函数查看任意模块中所有的对象列表,如果调函数查看任意模块中所有的对象列表,如果调用不带参数的用不带参数的dir()dir()函数,则返回当前脚本的所有名字列表。函数,则返回当前脚本的所有名字列表。可以使用可以使用h

35、elphelp函数查看任意模块或函数的使用帮助。函数查看任意模块或函数的使用帮助。321.3.9 模块的使用frommathimportsin#frommathimportsin#可以减少查询次数,提高执行速度可以减少查询次数,提高执行速度frommathimport*#frommathimport*#谨慎使用谨慎使用 from math import sin from math import sin sin(3) sin(3) from math import sin as f # from math import sin as f #别名别名 f(3) f(3)331.3.9 模块的使用可

36、以使用可以使用sys.modules.items()sys.modules.items()显示所有预加载模块的相关显示所有预加载模块的相关信息信息在在2.x2.x中可以使用中可以使用reloadreload函数重新导入一个模块,在函数重新导入一个模块,在3.x3.x中,中,需要使用需要使用impimp模块的模块的reloadreload函数函数PythonPython首先在当前目录中查找需要导入的模块文件,如果首先在当前目录中查找需要导入的模块文件,如果没有找到则从没有找到则从syssys模块的模块的pathpath变量所指定的目录中查找。变量所指定的目录中查找。可以使用可以使用syssys模

37、块的模块的pathpath变量查看变量查看pythonpython导入模块时搜索导入模块时搜索模块的路径,也可以向其中模块的路径,也可以向其中appendappend自定义的目录以扩展自定义的目录以扩展搜索路径。搜索路径。在导入模块时,会优先导入相应的在导入模块时,会优先导入相应的pycpyc文件,如果相应的文件,如果相应的pycpyc文件与文件与pypy文件时间不相符,则导入文件时间不相符,则导入pypy文件并重新编译文件并重新编译该模块。该模块。341.3.9 模块的使用osossyssysmathmathLocaleLocale:提供了:提供了C C语言本地化函数的接口,并提供相关函数实

38、现基于当前语言本地化函数的接口,并提供相关函数实现基于当前localelocale设置的设置的数字与字符串转换数字与字符串转换randomrandomstructstructpicklepickle:序列化:序列化datetimedatetimetimetimewmiwmi:需安装:需安装tkintertkinter:GUIGUI开发开发urllib/urllib2urllib/urllib2:网页编程:网页编程PygamePygame:游戏开发:游戏开发tkintertkinter、wxPythonwxPython:GUIGUI编程编程SciPySciPy:科学计算:科学计算PILPIL:图

39、像处理:图像处理fabricfabric:远程操作与部署,:远程操作与部署,capstonecapstone:反汇编框架:反汇编框架ropperropper:ROPROP相关框架相关框架IDAPythonIDAPython:IDAIDA插件,插件,YaraYara:恶意软件识别与分类引擎:恶意软件识别与分类引擎351.4 Python代码规范代码规范(1 1)缩进)缩进类定义、函数定义、选择结构、循环结构,行尾的冒号表类定义、函数定义、选择结构、循环结构,行尾的冒号表示缩进的开始示缩进的开始 python python程序是依靠代码块的缩进来体现代码之间的逻辑关程序是依靠代码块的缩进来体现代码

40、之间的逻辑关系的,缩进结束就表示一个代码块结束了。系的,缩进结束就表示一个代码块结束了。 同一个级别的代码块的缩进量必须相同。同一个级别的代码块的缩进量必须相同。一般而言,以一般而言,以4 4个空格为基本缩进单位。个空格为基本缩进单位。361.4 Python代码规范代码规范(2 2)注释)注释一个好的、可读性强的程序一般包含一个好的、可读性强的程序一般包含30%30%以上的注释。常用以上的注释。常用的注释方式主要有两种:的注释方式主要有两种: 以以# #开始,表示本行开始,表示本行# #之后的内容为注释之后的内容为注释 包含在一对三引号之间且不属于任何语句的内容将被解释包含在一对三引号之间且

41、不属于任何语句的内容将被解释器认为是注释器认为是注释371.4 Python代码规范代码规范(3 3)每个每个importimport只导入一个模块只导入一个模块(4 4)如果一行语句太长,可以在行尾加上)如果一行语句太长,可以在行尾加上 来换行分成多行,来换行分成多行,但是更建议使用括号来包含多行内容。但是更建议使用括号来包含多行内容。(5 5)必要的空格与空行)必要的空格与空行运算符两侧、函数参数之间、逗号两侧建议使用空格分开。运算符两侧、函数参数之间、逗号两侧建议使用空格分开。不同功能的代码块之间、不同的函数定义之间建议增加一不同功能的代码块之间、不同的函数定义之间建议增加一个空行以增加

42、可读性。个空行以增加可读性。(6 6)适当使用异常处理结构进行容错,后面将详细讲解。)适当使用异常处理结构进行容错,后面将详细讲解。(7 7)软件应具有较强的可测试性,测试与开发齐头并进,)软件应具有较强的可测试性,测试与开发齐头并进,后面将详细讲解。后面将详细讲解。381.5 Python文件名.py.py:PythonPython源文件源文件.pyc.pyc:PythonPython字节码文件。对于字节码文件。对于PythonPython模块,第一次被导模块,第一次被导入时将被编译成字节码的形式,以提高脚本的启动速度。入时将被编译成字节码的形式,以提高脚本的启动速度。对于非模块文件,直接执

43、行时并不生成对于非模块文件,直接执行时并不生成pycpyc文件,可以使文件,可以使用用py_compilepy_compile模块的模块的compilecompile函数进行编译。函数进行编译。.pyo.pyo:优化的:优化的PythonPython字节码文件。可以使用字节码文件。可以使用”python O ”python O file.py”file.py”或或”python OO file.py”python OO file.py”进行优化编译。进行优化编译。391.6 Python程序的运行方式每个每个PythonPython脚本在运行时都有一个脚本在运行时都有一个_name_name_

44、属性。属性。如果脚本作为模块被导入,则其如果脚本作为模块被导入,则其_name_name_属性被设置为属性被设置为模块名;如果脚本独立运行,则其模块名;如果脚本独立运行,则其_name_name_属性被设置属性被设置为为_main_main_。401.7 编写自己的包与模块包可以看做处于同一目录中的模块。包可以看做处于同一目录中的模块。在包的每个目录中都必须包含一个在包的每个目录中都必须包含一个_init_.py_init_.py文件,该文文件,该文件可以是一个空文件,仅用于表示该目录是一个包。件可以是一个空文件,仅用于表示该目录是一个包。_init_.py_init_.py文件的主要用途是设

45、置文件的主要用途是设置_all_all_变量以及所包含变量以及所包含的包初始化所需的代码。其中的包初始化所需的代码。其中_all_all_变量中定义的对象可变量中定义的对象可以在使用以在使用from import *from import *时全部正确导入。时全部正确导入。411.8 Python快速入门问题问题1 1:用户输入一个三位自然数,计算并输出其佰位、:用户输入一个三位自然数,计算并输出其佰位、十位和个位上的数字。十位和个位上的数字。x = input(x = input(请输入一个三位数:请输入一个三位数:) )a = x/100a = x/100b = x/10%10 #b =

46、x/10%10 #或或 b=x%100/10 b=x%100/10c = x - 100*a - 10*b #c = x - 100*a - 10*b #或或c = x%10c = x%10print a, b, cprint a, b, c421.8 Python快速入门问题问题2 2:已知三角形的两边长及其夹角,求第三边长。:已知三角形的两边长及其夹角,求第三边长。import mathimport mathx = input(x = input(输入两边及夹角输入两边及夹角( (度度) ):) )a, b, sita = xa, b, sita = xc = math.sqrt(a*2

47、+ b*2 - 2*a*b*math.cos(sita*math.pi/180)c = math.sqrt(a*2 + b*2 - 2*a*b*math.cos(sita*math.pi/180)print c=,cprint c=,c431.8 Python快速入门上面的代码也可以写成这样,虽然减少了需要输入的代码,上面的代码也可以写成这样,虽然减少了需要输入的代码,但一般不建议这样做:但一般不建议这样做:from math import *from math import *x = input(x = input(输入两边及夹角输入两边及夹角( (度度) ):) )a, b, sita =

48、 xa, b, sita = xc = sqrt(a*2 + b*2 - 2*a*b*cos(sita*pi/180)c = sqrt(a*2 + b*2 - 2*a*b*cos(sita*pi/180)print c=,cprint c=,c441.8 Python快速入门这样就可以了:这样就可以了:from math import sqrtfrom math import sqrtx = input(x = input(输入两边及夹角输入两边及夹角( (度度) ):) )a, b, sita = xa, b, sita = xc = sqrt(a*2 + b*2 - 2*a*b*cos(s

49、ita*pi/180)c = sqrt(a*2 + b*2 - 2*a*b*cos(sita*pi/180)print c=,cprint c=,c451.8 Python快速入门问题问题3 3:任意输入三个英文单词,按字典顺序输出。:任意输入三个英文单词,按字典顺序输出。s s = = input(x,y,z=)input(x,y,z=)x, x, y,zy,z = = s.split(,)s.split(,)ifxifx y:y: x,yx,y = = y,xy,xifxifx z: z:x,zx,z = = z,xz,xifyify z: z:y,zy,z = = z,yz,yprint(x,y,z)print(x,y,z)46

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号