基本教程瑞斯康达科技发展股份有限公司研发中心RaisecomTechnologyCo.,Ltd.刘光光2019-9-20简介Python的官方介绍Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在大多数平台上的许多领域都是一个理想的脚本语言,特别适用于快速的应用程序开发。Python的特色简单Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。易学就如同你即将看到的一样,Python极其容易上手。前面已经提到了,Python有极其简单的语法。免费、开源Python是FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。这是为什么Python如此优秀的原因之一——它是由一群希望看到一个更加优秀的Python的人创造并经常改进着的。高层语言当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。可移植性由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就可以在下述任何平台上面运行。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、PalmOS、QNX、VMS、Psion、AcomRISCOS、VxWorks、PlayStation、SharpZaurus、WindowsCE甚至还有PocketPC!简介解释性一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。面向对象Python即支持面向过程的编程也支持面向对象的编程。在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。可扩展性如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。可嵌入性你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。丰富的库Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。•常量:如5、1.23、9.25e-3这样的数,或者如同‘Thisisastring’、“It‘sastring!”这样的字符串,不能改变它的值。•数:在Python中有4种类型的数——整数、长整数、浮点数和复数,依次如下:2、1000000、3.23和52.3E-4、(-5+4j)和(2.3-4.6j)。•字符串:使用单引号(')使用双引号()使用三引号('''或)利用三引号,你可以指示一个多行的字符串,你可以在三引号中自由的使用单引号和双引号。如:‘Quotemeonthis‘What'syourname?“'''Thisisamulti-linestring.Thisisthefirstline.Thisisthesecondline.What'syourname?,Iasked.HesaidBond,JamesBond.'''基本概念基本概念转义符假设你想要在一个字符串中包含一个单引号,就要用到转义符如'What\'syourname?'。自然字符串如果你想要指示某些不需要如转义符那样的特别处理的字符串,那么你需要指定一个自然字符串。自然字符串通过给字符串加上前缀r或R来指定。例如rNewlinesareindicatedby\n。变量仅仅使用字面意义上的常量很快就会引发烦恼——我们需要一种既可以储存信息又可以对它们进行操作的方法。这是为什么要引入变量。变量就是我们想要的东西——它们的值可以变化,即你可以使用变量存储任何东西。变量只是你的计算机中存储信息的一部分内存。与字面意义上的常量不同,你需要一些能够访问这些变量的方法,因此你给变量名字。基本概念缩进空白在Python中是重要的。事实上行首的空白是重要的。它称为缩进。在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。我们将在后面的章节中看到有关块的用处的例子。你需要记住的一样东西是错误的缩进会引发错误。如下:SyntaxError:invalidsyntaxx=10defchangeString():globalxx=20print'x----',x运算符运算符与表达式运算符名称说明例子+加两个对象相加3+5得到8。'a'+'b'得到'ab'。-减得到负数或是一个数减去另一个数-5.2得到一个负数。50-24得到26。*乘两个数相乘或是返回一个被重复若干次的字符串2*3得到6。'la'*3得到'lalala'。**幂返回x的y次幂3**4得到81(即3*3*3*3)/除x除以y4/3得到1(整数的除法得到整数结果)。4.0/3或4/3.0得到1.3333333333333333//取整除返回商的整数部分4//3.0得到1.0%取模返回除法的余数8%3得到2。-25.5%2.25得到1.5左移把一个数的比特向左移一定数目(每个数在内存中都表示为比特或二进制数字,即0和1)22得到8。——2按比特表示为10右移把一个数的比特向右移一定数目111得到5。——11按比特表示为1011,向右移动1比特后得到101,即十进制的5。运算符与表达式&按位与数的按位与5&3得到1。|按位或数的按位或5|3得到7。^按位异或数的按位异或5^3得到6~按位翻转x的按位翻转是-(x+1)~5得到6。小于返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。53返回0(即False)而35返回1(即True)。比较可以被任意连接:357返回True。大于返回x是否大于y53返回True。如果两个操作数都是数字,它们首先被转换为一个共同的类型。否则,它总是返回False。=小于等于返回x是否小于等于yx=3;y=6;x=y返回True。=大于等于返回x是否大于等于yx=4;y=3;x=y返回True。==等于比较对象是否相等x=2;y=2;x==y返回True。x='str';y='stR';x==y返回False。x='str';y='str';x==y返回True。!=不等于比较两个对象是否不相等x=2;y=3;x!=y返回True。not布尔“非”如果x为True,返回False。如果x为False,它返回True。x=True;noty返回False。and布尔“与”如果x为False,xandy返回False,否则它返回y的计算值。x=False;y=True;xandy,由于x是False,返回False。在这里,Python不会计算y,因为它知道这个表达式的值肯定是False(因为x是False)。这个现象称为短路计算。or布尔“或”如果x是True,它返回True,否则它返回y的计算值。x=True;y=False;xory返回True。短路计算在这里也适用。运算符与表达式运算符优先级下面这个表给出Python的运算符优先级,从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合)。这意味着在一个表达式中,Python会首先计算表中较下面的运算符,然后在计算列在表上部的运算符。运算符描述lambdaLambda表达式or布尔“或”and布尔“与”notx布尔“非”in,notin成员测试is,isnot同一性测试,=,,=,!=,==比较|按位或^按位异或&按位与,移位+,-加法与减法*,/,%乘法、除法与取余+x,-x正负号~x按位翻转**指数x.attribute属性参考x[index]下标x[index:index]寻址段f(arguments...)函数调用(experession,...)绑定或元组显示[expression,...]列表显示{key:datum,...}字典显示'expression,...'字符串转换运算符与表达式表达式#!/usr/bin/python#Filename:expression.pylength=5breadth=2area=length*breadthprint'Areais',areaprint'Perimeteris',2*(length+breadth)矩形的长度与宽度存储在以它们命名的变量中。我们借助表达式使用它们计算矩形的面积和边长。我们表达式length*breadth的结果存储在变量area中,然后用print语句打印。在另一个打印语句中,我们直接使用表达式2*(length+breadth)的值。在Python中有三种控制流语句——if、for和while。if语句if语句用来检验一个条件,如果条件为真,我们运行一块语句(称为if-块),否则我们处理另外一块语句(称为else-块)。else从句是可选的。例子:ifguess==number:elifguessnumber:else:while语句只要在一个条件为真的情况下,while语句允许你重复执行一块语句。while语句是所谓循环语句的一个例子。while语句有一个可选的else从句。例子:whilerunning:else:控制流控制流for循环for..in是另外一个循环语句,它在一序列的对象上递归即逐一使用队列中的每个项目。例子:foriinrange(1,5):printi#range(1,5)给出序列[1,2,3,4]结果:123