python 基础知识

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1章基础知识1.0Python是一种怎样的语言Python是一门跨平台、开源、免费的解释型高级动态编程语言,同时也支持伪编译将Python源程序转换为字节码来优化程序和提高运行速度,并且支持使用py2exe工具将Python程序转换为扩展名为“.exe”的可执行程序,可以在没有安装Python解释器和相关依赖包的Windows平台上运行。Python支持命令式编程、函数式编程,完全支持面向对象程序设计,语法简洁清晰,并且拥有大量的几乎支持所有领域应用开发的成熟扩展库。Python就像胶水一样,可以把多种不同语言编写的程序融合到一起实现无缝拼接,更好地发挥不同语言和工具的优势,满足不同应用领域的需求。1.1如何选择Python版本2.x:一边鄙视一边用3.x:必然的趋势多版本共存与切换简便方法:更改系统环境变量path查看已安装版本的方法(在所启动的IDLE界面也可以直接看到):importsyssys.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.1如何选择Python版本安装好Python以后,在“开始”菜单中启动“IDLE(PythonGUI)”即可启动Python解释器并可以看到当前安装的Python版本号,如图1-1和图1-2所示。如果您喜欢的话,也可以启动“Python(commandline)”来开始美妙的Python之旅。在“IDLE(PythonGUI)”和“Python(commandline)”两种界面中,都以三个大于号“”作为提示符,您可以在提示符后面输入要执行的语句。1.1如何选择Python版本除了在启动主界面上查看已安装的Python版本之外,还可以使用下面的命令随时进行查看。importsyssys.version'3.5.1(v3.5.1:37a07cee5969,Dec62015,01:54:25)[MSCv.190064bit(AMD64)]'sys.winver'3.5'sys.version_infosys.version_info(major=3,minor=5,micro=1,releaselevel='final',serial=0)1.1如何选择Python版本有时候可能需要同时安装多个不同的版本,例如同时安装Python2.7.11和Python3.5.1,并根据不同的开发需求在两个版本之间进行切换。多版本并存一般不影响在IDLE环境中直接运行程序,只需要启动相应版本的IDLE即可。在命令提示符环境中运行Python程序时,如果无法正确运行,可以尝试在调用Python主程序时指定其完整路径,或者通过修改系统Path变量来实现不同版本之间的切换。1.2Python安装与简单使用://://bugs.python.org/默认编程环境:IDLE1.2Python安装与简单使用安装好以后,默认以IDLE为开发环境,当然也可以安装使用其他的开发环境,例如PythonWin、PyCharm、WingIDE。本书均以IDLE为例,如果使用交互式编程模式,那么直接在IDLE提示符“”后面输入相应的命令并回车执行即可,如果执行顺利的话,马上就可以看到执行结果,否则会抛出异常。3+58importmathmath.sqrt(9)3.03*(2+6)242/0Traceback(mostrecentcalllast):Filepyshell#18,line1,inmodule2/0ZeroDivisionError:integerdivisionormodulobyzero1.2Python安装与简单使用在IDLE界面中使用菜单“File”==“NewFile”创建一个程序文件,输入代码并保存为文件(务必要保证扩展名为“.py”,如果是GUI程序可以保存为“.pyw”文件。如果您保存为其他扩展名的文件,一般并不影响在IDLE中直接运行,但是在“命令提示符”环境中运行时需要显式调用Python主程序,并且在资源管理器中直接双击该文件时可能会无法关联Python主程序从而导致无法运行)后,使用菜单“Run”==“CheckModule”来检查程序中是否存在语法错误,或者使用菜单“Run”==“RunModule”运行程序,程序运行结果将直接显示在IDLE交互界面上。1.2Python安装与简单使用也可以通过在资源管理器中双击扩展名为“.py”或“.pyc”的Python程序文件直接运行;在有些情况下,可能还需要您在命令提示符环境中运行Python程序文件。在“开始”菜单的“附件”中单击“命令提示符”,然后执行Python程序。例如,假设有程序HelloWorld.py内容如下。defmain():print('Helloworld')main()1.2Python安装与简单使用1.2Python安装与简单使用1.2Python安装与简单使用在实际开发中,如果您能够熟练使用集成开发环境IDLE提供的一些快捷键,将会大幅度提高您的编写速度和开发效率。在IDLE环境下,除了撤销(Ctrl+Z)、全选(Ctrl+A)、复制(Ctrl+C)、粘贴(Ctrl+V)、剪切(Ctrl+X)等常规快捷键之外,其他比较常用的快捷键如下表所示。快捷键功能说明Alt+p浏览历史命令(上一条)Alt+n浏览历史命令(下一条)Ctrl+F6重启Shell,之前定义的对象和导入的模块全部失效F1打开Python帮助文档Alt+/自动补全前面曾经出现过的单词,如果之前有多个单词具有相同前缀,则在多个单词中循环选择Ctrl+]缩进代码块Ctrl+[取消代码块缩进Alt+3注释代码块Alt+4取消代码块注释。1.3使用pip管理第三方包Python2中需要单独安装下载地址:安装方法:cmd==pythonget-pip.py用法示例pipinstallNumPypiplistpipinstall--upgradeSomePackagepipuninstallSomePackagePython2.7.9和Python3.4.0之后的安装包中已默认包含pip。1.4.1Python的对象模型对象是python语言中最基本的概念,在python中处理的每样东西都是对象。python中有许多内置对象可供编程者使用,内置对象可直接使用,如数字、字符串、列表、del等;非内置对象需要导入模块才能使用,如正弦函数sin(x),随机数产生函数random()等。1.4.1Python的对象模型常用内置对象对象类型示例数字1234,3.14,3+4j字符串'swfu',I'mstudent,'''Python'''列表[1,2,3]字典{1:'food',2:'taste',3:'import'}元组(2,-5,6)文件f=open('data.dat','r')集合set('abc'),{'a','b','c'}布尔型True,False空类型None编程单元类型函数、模块、类在Python中,不需要事先声明变量名及其类型,直接赋值即可创建各种类型的对象变量。例如语句x=3创建了整型变量x,并赋值为3,再例如语句x='Helloworld.'创建了字符串变量x,并赋值为'Helloworld.'。这一点适用于Python任意类型的对象。1.4.2Python变量1.4.2Python变量虽然不需要在使用之前显式地声明变量及其类型,但是Python仍属于强类型编程语言,Python解释器会根据赋值或运算来自动推断变量类型。每种类型支持的运算也不完全一样,因此在使用变量时需要程序员自己确定所进行的运算是否合适,以免出现异常或者意料之外的结果。同一个运算符对于不同类型数据操作的含义和计算结果也是不一样的,后面会进行介绍。另外,Python还是一种动态类型语言,也就是说,变量的类型是可以随时变化的。x=3print(type(x))class'int'x='Helloworld.'print(type(x))class'str'x=[1,2,3]print(type(x))class'list'isinstance(3,int)Trueisinstance('Helloworld',str)True1.4.2Python变量内置函数type()用来返回变量类型,内置函数isinstance()用来测试对象是否为指定类型的实例。代码中首先创建了整型变量x,然后又分别创建了字符串和列表类型的变量x。当创建了字符串类型的变量x之后,之前创建的整型变量x自动失效,创建列表对象x之后,之前创建的字符串变量x自动失效。可以将该模型理解为“状态机”,在显式修改其类型或删除之前,变量将一直保持上次的类型。1.4.2Python变量在大多数情况下,如果变量出现在赋值运算符或复合赋值运算符(例如+=、*=等等)的左边则表示创建变量或修改变量的值,否则表示引用该变量的值,这一点同样适用于使用下标来访问列表、字典等可变序列以及其他自定义对象中元素的情况。例如下面的代码:x=3#创建整型变量print(x**2)9x+=6#修改变量值print(x)#读取变量值并输出显示9x=[1,2,3]#创建列表对象print(x)[1,2,3]x[1]=5#修改列表元素值print(x)#输出显示整个列表[1,5,3]print(x[2])#输出显示列表指定元素31.4.2Python变量字符串和元组属于不可变序列,这意味着不能通过下标的方式来修改其中的元素值,例如下面的代码试图修改元组中元素的值时抛出异常。x=(1,2,3)print(x)(1,2,3)x[1]=5Traceback(mostrecentcalllast):Filepyshell#7,line1,inmodulex[1]=5TypeError:'tuple'objectdoesnotsupportitemassignment1.4.2Python变量在Python中,允许多个变量指向同一个值,例如:x=3id(x)1786684560y=xid(y)1786684560然而,需要注意的是,继续上面的示例代码,当为其中一个变量修改值以后,其内存地址将会变化,但这并不影响另一个变量,例如接着上面的代码再继续执行下面的代码:x+=6id(x)1786684752y3id(y)17866845601.4.2Python变量x3x3291+61.4.2Python变量Python采用的是基于值的内存管理方式,如果为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一块内存地址,前面的几段代码也说明了这个特点。再例如下面的代码:x=3id(x)10417624y=3id(y)10417624y=5id(y)10417600id(x)104176241.4.2Python变量Python具有自动内存管理功能,对于没有任何变量指向的值,Python自动将其删除。Python会跟踪所有的值,并自动删除不再有变量指向的值。因此,Python程序员一般情况下不需要太多考虑内存管理的问题。尽管如此,

1 / 73
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功