python 基础知识讲课教案.ppt
《python 基础知识讲课教案.ppt》由会员分享,可在线阅读,更多相关《python 基础知识讲课教案.ppt(74页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、python 基础知识1.0 Python是一种怎样的语言Python是一门跨平台、开源、免费的解释型高级动态编程语言,同时也支持伪编译将Python源程序转换为字节码来优化程序和提高运行速度,并且支持使用py2exe工具将Python程序转换为扩展名为“.exe”的可执行程序,可以在没有安装Python解释器和相关依赖包的Windows平台上运行。Python支持命令式编程、函数式编程,完全支持面向对象程序设计,语法简洁清晰,并且拥有大量的几乎支持所有领域应用开发的成熟扩展库。Python就像胶水一样,可以把多种不同语言编写的程序融合到一起实现无缝拼接,更好地发挥不同语言和工具的优势,满足不
2、同应用领域的需求。1.1 如何选择Python版本有时候可能需要同时安装多个不同的版本,例如同时安装Python 2.7.11和Python 3.5.1,并根据不同的开发需求在两个版本之间进行切换。多版本并存一般不影响在IDLE环境中直接运行程序,只需要启动相应版本的IDLE即可。在命令提示符环境中运行Python程序时,如果无法正确运行,可以尝试在调用Python主程序时指定其完整路径,或者通过修改系统Path变量来实现不同版本之间的切换。1.2 Python安装与简单使用https:/www.python.org/https:/www.python.org/doc/http:/bugs.p
3、ython.org/https:/ Python安装与简单使用n安装好以后,默认以IDLE为开发环境,当然也可以安装使用其他的开发环境,例如PythonWin、PyCharm、WingIDE。本书均以IDLE为例,如果使用交互式编程模式,那么直接在IDLE提示符“”后面输入相应的命令并回车执行即可,如果执行顺利的话,马上就可以看到执行结果,否则会抛出异常。3+58 import math math.sqrt(9)3.0 3*(2+6)24 2/0Traceback(most recent call last):File,line 1,in 2/0ZeroDivisionError:intege
4、r division or modulo by zero1.2 Python安装与简单使用在IDLE界面中使用菜单“File”=“New File”创建一个程序文件,输入代码并保存为文件(务必要保证扩展名为“.py”,如果是GUI程序可以保存为“.pyw”文件。如果您保存为其他扩展名的文件,一般并不影响在IDLE中直接运行,但是在“命令提示符”环境中运行时需要显式调用Python主程序,并且在资源管理器中直接双击该文件时可能会无法关联Python主程序从而导致无法运行)后,使用菜单“Run”=“Check Module”来检查程序中是否存在语法错误,或者使用菜单“Run”=“Run Modul
5、e”运行程序,程序运行结果将直接显示在IDLE交互界面上。1.2 Python安装与简单使用也可以通过在资源管理器中双击扩展名为“.py”或“.pyc”的Python程序文件直接运行;在有些情况下,可能还需要您在命令提示符环境中运行Python程序文件。在“开始”菜单的“附件”中单击“命令提示符”,然后执行Python程序。例如,假设有程序HelloWorld.py内容如下。def main():print(Hello world)main()1.2 Python安装与简单使用1.2 Python安装与简单使用1.2 Python安装与简单使用在实际开发中,如果您能够熟练使用集成开发环境IDL
6、E提供的一些快捷键,将会大幅度提高您的编写速度和开发效率。在IDLE环境下,除了撤销(Ctrl+Z)、全选(Ctrl+A)、复制(Ctrl+C)、粘贴(Ctrl+V)、剪切(Ctrl+X)等常规快捷键之外,其他比较常用的快捷键如下表所示。1.3 使用pip管理第三方包Python2中需要单独安装下载地址:https:/pypi.python.org/pypi/pip安装方法:cmd=python get-pip.py用法示例pip install NumPypip listpip install-upgrade SomePackagepip uninstall SomePackagePytho
7、n 2.7.9和Python 3.4.0之后的安装包中已默认包含pip。1.4.1 Python的对象模型的对象模型对象是python语言中最基本的概念,在python中处理的每样东西都是对象。python中有许多内置对象可供编程者使用,内置对象可直接使用,如数字、字符串、列表、del等;非内置对象需要导入模块才能使用,如正弦函数sin(x),随机数产生函数random()等。1.4.1 Python的对象模型的对象模型常用内置对象在Python中,不需要事先声明变量名及其类型,直接赋值即可创建各种类型的对象变量。例如语句 x=3创建了整型变量x,并赋值为3,再例如语句 x=Hello wor
8、ld.创建了字符串变量x,并赋值为Hello world.。这一点适用于Python任意类型的对象。1.4.2 Python变量变量1.4.2 Python变量变量虽然不需要在使用之前显式地声明变量及其类型,但是Python仍属于强类型编程语言,Python解释器会根据赋值或运算来自动推断变量类型。每种类型支持的运算也不完全一样,因此在使用变量时需要程序员自己确定所进行的运算是否合适,以免出现异常或者意料之外的结果。同一个运算符对于不同类型数据操作的含义和计算结果也是不一样的,后面会进行介绍。另外,Python还是一种动态类型语言,也就是说,变量的类型是可以随时变化的。x=3 print(ty
9、pe(x)x=Hello world.print(type(x)x=1,2,3 print(type(x)isinstance(3,int)True isinstance(Hello world,str)True1.4.2 Python变量变量内置函数type()用来返回变量类型,内置函数isinstance()用来测试对象是否为指定类型的实例。代码中首先创建了整型变量x,然后又分别创建了字符串和列表类型的变量x。当创建了字符串类型的变量x之后,之前创建的整型变量x自动失效,创建列表对象x之后,之前创建的字符串变量x自动失效。可以将该模型理解为“状态机”,在显式修改其类型或删除之前,变量将一直
10、保持上次的类型。1.4.2 Python变量变量在大多数情况下,如果变量出现在赋值运算符或复合赋值运算符(例如+=、*=等等)的左边则表示创建变量或修改变量的值,否则表示引用该变量的值,这一点同样适用于使用下标来访问列表、字典等可变序列以及其他自定义对象中元素的情况。例如下面的代码:x=3#创建整型变量 print(x*2)9 x+=6#修改变量值 print(x)#读取变量值并输出显示9 x=1,2,3#创建列表对象 print(x)1,2,3 x1=5#修改列表元素值 print(x)#输出显示整个列表1,5,3 print(x2)#输出显示列表指定元素31.4.2 Python变变量量n
11、字符串和元组属于不可变序列,这意味着不能通过下标的方式来修改其中的元素值,例如下面的代码试图修改元组中元素的值时抛出异常。x=(1,2,3)print(x)(1,2,3)x1=5Traceback(most recent call last):File,line 1,in x1=5TypeError:tuple object does not support item assignment1.4.2 Python变变量量n在Python中,允许多个变量指向同一个值,例如:x=3 id(x)1786684560 y=x id(y)1786684560n然而,需要注意的是,继续上面的示例代码,当为
12、其中一个变量修改值以后,其内存地址将会变化,但这并不影响另一个变量,例如接着上面的代码再继续执行下面的代码:x+=6 id(x)1786684752 y3 id(y)17866845601.4.2 Python变变量量1.4.2 Python变变量量nPython采用的是基于值的内存管理方式,如果为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一块内存地址,前面的几段代码也说明了这个特点。再例如下面的代码:x=3 id(x)10417624 y=3 id(y)10417624 y=5 id(y)10417600 id(x)104176241.4.2 Python变量变量Pytho
13、n具有自动内存管理功能,对于没有任何变量指向的值,Python自动将其删除。Python会跟踪所有的值,并自动删除不再有变量指向的值。因此,Python程序员一般情况下不需要太多考虑内存管理的问题。尽管如此,显式使用del命令删除不需要的值或显式关闭不再需要访问的资源,仍是一个好的习惯,同时也是一个优秀程序员的基本素养之一。1.4.2 Python变变量量n最后,在定义变量名的时候,需要注意以下问题:n变量名必须以字母或下划线开头,但以下划线开头的变量在Python中有特殊含义,本书后面第6章会详细讲解;n变量名中不能有空格以及标点符号(括号、引号、逗号、斜线、反斜线、冒号、句号、问号等等);
14、n不能使用关键字作变量名,可以导入keyword模块后使用print(keyword.kwlist)查看所有Python关键字;n不建议使用系统内置的模块名、类型名或函数名以及已导入的模块名及其成员名作变量名,这将会改变其类型和含义,可以通过dir(_builtins_)查看所有内置模块、类型和函数;n变量名对英文字母的大小写敏感,例如student和Student是不同的变量。1.4.3 数字数字是python中最常用的对象,属于不可变对象。可以表示任意大小的数字。a=99999999999999999999999999999999 a*a99999999999999999999999999
15、99999800000000000000000000000000000001L a*3999999999999999999999999999999970000000000000000000000000000000299999999999999999999999999999999LPython的IDEL交互界面可以当做简便计算器来使用。1.4.3 数字十进制整数如,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、
16、6、7来表示整数,必须以0o开头,如0o35、0o11二进制整数、只需要2个数字0、1来表示整数,必须以0b开头如,0b101、0b1001.4.3 数字浮点数又称小数15.0、0.37、-11.2、1.2e2、314.15e-21.4.3 数字nPython内置支持复数类型。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)1.4.4字符
17、串用单引号、双引号或三引号括起来的符号系列称为字符串单引号、双引号、三单引号、三双引号可以互相嵌套,用来表示复杂字符串。abc、123、中国、Python字符串属于不可变序列空串表示为或 三引号或表示的字符串可以换行,支持排版较为复杂的字符串;三引号还可以在程序中表示较长的注释。1.4.4字符串1.1.字符串合并字符串合并 a=abc+123#生成新对象2.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 Fuguo,a
18、nd my age is 381.4.4字符串3.转义字符转义字符n:换行符:换行符t:制表符:制表符r:回车:回车:单引号:单引号”:双引号:双引号:一个:一个ddd:3位八进制数对应的字符位八进制数对应的字符xhh:2位十六进制数对应的字符位十六进制数对应的字符 字符串界定符前面加字母r表示原始字符串,其中的特殊字符不进行转义,但字符串的最后一个字符不能是。1.4.5 操作符和表达式1.4.5 操作符和表达式nPython中的除法有两种,“/”和“/”分别表示除法和整除运算,并且Python 2.x和Python 3.x对“/”运算符的解释也略有区别。Python 2.x将“/”解释为普通
19、除法,而Python 3.x将其解释为真除法。例如,在Python 3.5.1中运算结果如下:3/50.6 3/50 3.0/50.6 3.0/50.0 13/101-13/10-21.4.5 操作符和表达式而上面的表达式在Python 2.7.11中运算结果如下:3/50 3/50 3.0/50.6 3.0/50.0 13/101-13/10-21.4.5 操作符和表达式n另外一个需要说明的,也是与其他有些语言略有不同的运算符是“%”。在Python中,除去前面已经介绍过的字符串格式化用法之外,该运算符还可以对整数和浮点数计算余数。但是由于浮点数的精确度影响,计算结果可能略有误差。3.1%2
20、1.1 6.3%2.12.0999999999999996 6%20 6.0%20.0 6.0%2.00.0 5.7%4.80.90000000000000041.4.5 操作符和表达式nPython中很多运算符有多重含义,在程序中运算符的具体含义取决于操作数的类型,将在后面章节中根据内容组织的需要陆续进行展开。例如“*”运算符就是Python运算符中比较特殊的一个,它不仅可以用于数值乘法,还可以用于列表、字符串、元组等类型,当列表、字符串或元组等类型变量与整数进行“*”运算时,表示对内容进行重复并返回重复后的新对象。3*2#整数相乘6 2.0*3#浮点数与整数相乘6.0(3+4j)*2#复数
21、与整数相乘(6+8j)(3+4j)*(3-4j)#复数与复数相乘(25+0j)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)1.4.5 操作符和表达式n在Python中,单个任何类型的对象或常数属于合法表达式,使用表1-5中运算符连接的变量和常量以及函数调用的任意组合也属于合法的表达式。a=1,2,3 b=4,5,6 c=a+b c1,2,3,4,5,6 d=list(map(str,c)d1,2,3,4,5,6 import math list(map(math.sin,c
22、)0.8414709848078965,0.9092974268256817,0.1411200080598672,-0.7568024953079282,-0.9589242746631385,-0.27941549819892586 Hello+worldHello world welcome *3welcome welcome welcome (welcome,*3).rstrip(,)+!welcome,welcome,welcome!1.4.5 操作符和表达式n在Python中逗号“,”并不是运算符,而只是一个普通分隔符。a in b,a(False,a)a in(b,a)True
23、x=3,5 x(3,5)3=3,5(True,5)x=3+5,7 x(8,7)1.4.6 常用内置函数内置函数不需要导入任何模块即可使用执行下面的命令可以列出所有内置函数 dir(_builtins_)1.4.6 常用内置函数1.4.6 常用内置函数1.4.6 常用内置函数1.4.6 常用内置函数nord()和chr()是一对功能相反的函数,ord()用来返回单个字符的序数或Unicode码,而chr()则用来返回某序数对应的字符,str()则直接将其任意类型参数转换为字符串。ord(a)97 chr(65)A chr(ord(A)+1)B str(1)1 str(1234)1234 str(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- python 基础知识讲课教案 基础知识 讲课 教案
限制150内