《Python-基础语法》由会员分享,可在线阅读,更多相关《Python-基础语法(24页珍藏版)》请在金锄头文库上搜索。
1、Python的特点1. 简单Python是一种代表简单思想的语言。2. 易学Python有极其简单的语法。3. 免费、开源Python是FLOSS(自由/开放源码软件)之一。4. 高层语言使用Python编写程序时无需考虑如何管理程序使用的内存一类的底层细节。5. 可移植性Python已被移植到很多平台,这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、PalmOS、QNX、VMS、Psion、AcomRISCOS、VxWorks、PlayStation、SharpZaur
2、us、WindowsCE甚至还有PocketPC。6. 解释性可以直接从源代码运行。在计算机内部,python解释器把源代码转换为字节码的中间形式,然后再把它翻译成计算机使用的机器语言。7. 面向对象Python既支持面向过程编程也支持面向对象编程。8. 可扩展性部分程序可以使用其他语言编写,如c/c+。9. 可嵌入型可以把Python嵌入至ijC/C+程序中,从而提供脚本功能。10. 丰富的库Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形
3、用户界面)、Tk和其他与系统有关的操作。分割线以下是Python的基本语法一、基本概念1. python中数有四种类型:整数、长整数、浮点数和复数。整数,如1长整数是比较大的整数浮点数如1.23、3E-2复数如1+2j、1.1+2.2j2. 字符串(字符的序列)python中单引号和双引号使用完全相同。使用三引号(或)可以指定一个多行字符串。转义符自然字符串,通过在字符串前加r或R。如rthisisalinewithn则n会显示,并不是换行。python允许处理unicode字符串,加前缀u或U,如uthisisanunicodestring。字符串是不可变的。按字面意义级联字符串,如this
4、isstring会被自动转换为thisisstring。3. 标识符的命名第一个字符必须是字母表中字母或下划线_。标识符的其他的部分有字母、数字和下划线组成。标识符对大小写敏感。4. 对象python程序中用到的任何“东西”都成为“对象”。5. 逻辑行和物理行物理行是我们在编写程序时看到的,逻辑行则是python看到的。python中分号;标识一个逻辑行的结束,但是实际中一般每个物理行只写一个逻辑行,可以避免使用分号。多个物理行中可以写一个逻辑行,如下:s=peteriswritingthisarticle上面的使用被称为明确的行连接,又如:printpeter6. 缩进空白在python是非
5、常重要的,行首的空白是最重要的,又称为缩进。行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而决定语句分组。这意味着同一层次的语句必须有相同的缩进,每一组这样的语句称为一个块。注意:不要混合使用空格和制表符来缩进,因为在跨越不同的平台时无法正常工作。、运算符与表达式1. 运算符与其用法运算符名称说明例子+力口两个对象相加3+5得到8。a+b得至ijab。* 减得到负数或是一个数减去另一个数-5.2得到一个负数。50-24得到26。* 乘两个数相乘或是返回一个被重复若干次的字符串2*3得到6。la*3得到lalala。* *宜幂返回x的y次幂3*4得到81(即3*3*3*3)/除x除以y4
6、/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)2右移把一个数的比特向右移一定数目111得到5。11按比特表示为1011,向右移动1比特后得到101,即十进制的5。&按位与数的按位与5&3得到1。|按位或数的按位或5|3得到7。人按位异或数的按位异或5A3得到6按位翻转x的按位翻转是-(x+1)5得到6。* 小于返回x是否小于y。所有比较运算符返回1
7、表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。53返回0(即False)而35返回1(即True)。比较可以被任意连接:35 大于返回x是否大于y53返回True)如果两个操作数都是数字,它们首先被转换为一个共同的类型)否则,它总是返回False) =小于等于返回x是否小于等于yx=3;y=6;x =大于等于返回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
8、=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不会at算y,因为它知道这个表达式的值肯定是False(因为x是False)。这个现象称为短路计算)or布尔或如果x是True,它返回True,否则它返回y的计算值。x=True;y=False;xory返回True。短路计算在这里也适用)2. 运算符优先级(从低到高)运算
9、符描述lambdaLambda表达式or布尔“或”and布尔“与”not x布尔“非”in,notin成员测试is,isnot同一性测试* ,=,!=,=比较|按位或A按位异或&按位与* 移位+,-加法与减法* ,/,%乘法、除法与取余+x,-x正负号x按位翻转* *指数x.attribute属性参考xindex下标xindex:index寻址段f(arguments.)函数调用(experession,.)绑定或元组显示expression,.列表显示key:datum,.字典显示expression,.字符串转换3. python控制台输出使用printprintabc#打印abc并换行p
10、rintabc%s%d#打印abcdprintabc%sef%s%(d,g)#打印abcdefg三、控制流1. if语句i=10n=int(raw_input(enteranumber:)ifn=i:printequalelifni:printlowerelse:printhigher2. while语句whileTrue:passelse:passpass是空语句。#else语句可选,当while为False时,else语句被执行。3. for循环for.inforiinrange(0,5):printielse:pass#打印0到4注:当for循环结束后执行else语句;range(a,b
11、)返回一个序列,从a开始到b为止,但不包括b,range默认步长为1,可以指定步长,range(0,10,2);4. break语句终止循环语句,如果从for或while中终止,任何对应循环的else将不执行。5. continue语句continue语句用来调过当前循环的剩余语句,然后继续下一轮循环。四、函数函数通过def定义。def关键字后跟函数的标识符名称,然后跟一对圆括号,括号之内可以包含一些变量名,该行以冒号结尾;接下来是一块语句,即函数体。defsumOf(a,b):returna+b1.函数形参函数中的参数名称为形参,调用函数时传递的值为实参2.局部变量在函数内定义的变量与函数外
12、具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部的。这称为变量的作用域。global语句,为定义在函数外的变量赋值时使用global语句。deffunc():globalxprintxis,xx=1x=3func()printx#3#13. 默认参数通过使用默认参数可以使函数的一些参数是可选的。defsay(msg,times=1):printmsg*timessay(peter)say(peter,3)注意:只有在形参表末尾的那些参数可以有默认参数值,即不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参,只是因为赋给形参的值是根据位置而赋值的。4. 关键参
13、数如果某个函数有很多参数,而现在只想指定其中的部分,那么可以通过命名为这些参数赋值(称为关键参数)。优点:不必担心参数的顺序,使函数变的更加简单;假设其他参数都有默认值,可以只给我们想要的那些参数赋值。deffunc(a,b=2,c=3):printais%s,bis%s,cis%s%(a,b,c)func(1)#ais1,bis2,cis3func(1,5)#ais1,bis5,cis3func(1,c=10)#ais1,bis2,cis10func(c=20,a=30)#ais30,bis2,cis205. return语句return语句用来从一个函数返回,即跳出函数。可从函数返回一个值
14、。没有返回值的return语句等价于returnNone。None表示没有任何东西的特殊类型。6. DocStrings(文档字符串)deffunc():Thisisself-definedfunctionDonothingpassprintfunc._doc_#Thisisself-definedfunction#Donothing五、模块模块就是一个包含了所有你定义的函数和变量的文件,模块必须以.py为扩展名。模块可以从其他程序中输入(import)以便利用它的功能。在python程序中导入其他模块使用import,所导入的模块必须在sys.path所列的目录中,因为sys.path第一个字符串是空串即当前目录,所以程序中可导入当前目录的模块。1. 字节编译的.pyc文件导入模块比较费时,python做了优化,以便导入模块更快些。一种方法是创建字节编译的文件,这些文件以.pyc为扩展名。pyc是一种二进制文件,是py文件经编译后产生的一种bytecode,而且是跨平台的(平台无关)字节码,是有python虚拟机执行的,类似于jav