您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > Python > Python 基础语法
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、SharpZaurus、WindowsCE甚至还有PocketPC。6.解释性可以直接从源代码运行。在计算机内部,python解释器把源代码转换为字节码的中间形式,然后再把它翻译成计算机使用的机器语言。7.面向对象Python既支持面向过程编程也支持面向对象编程。8.可扩展性部分程序可以使用其他语言编写,如c/c++。9.可嵌入型可以把Python嵌入到c/c++程序中,从而提供脚本功能。10.丰富的库Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。---------------分割线------------------------以下是Python的基本语法---------------------------------------------------------一、基本概念1.python中数有四种类型:整数、长整数、浮点数和复数。整数,如1长整数是比较大的整数浮点数如1.23、3E-2复数如1+2j、1.1+2.2j2.字符串(字符的序列)python中单引号和双引号使用完全相同。使用三引号('''或)可以指定一个多行字符串。转义符'\'自然字符串,通过在字符串前加r或R。如rthisisalinewith\n则\n会显示,并不是换行。python允许处理unicode字符串,加前缀u或U,如uthisisanunicodestring。字符串是不可变的。按字面意义级联字符串,如thisisstring会被自动转换为thisisstring。3.标识符的命名第一个字符必须是字母表中字母或下划线'_'。标识符的其他的部分有字母、数字和下划线组成。标识符对大小写敏感。4.对象python程序中用到的任何“东西”都成为“对象”。5.逻辑行和物理行物理行是我们在编写程序时看到的,逻辑行则是python看到的。python中分号;标识一个逻辑行的结束,但是实际中一般每个物理行只写一个逻辑行,可以避免使用分号。多个物理行中可以写一个逻辑行,如下:s=peteris\writingthisarticle上面\的使用被称为‘明确的行连接’,又如:print\peter6.缩进空白在python是非常重要的,行首的空白是最重要的,又称为缩进。行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而决定语句分组。这意味着同一层次的语句必须有相同的缩进,每一组这样的语句称为一个块。注意:不要混合使用空格和制表符来缩进,因为在跨越不同的平台时无法正常工作。二、运算符与表达式1.运算符与其用法运算符名称说明例子+加两个对象相加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。短路计算在这里也适用。2.运算符优先级(从低到高)运算符描述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,...'字符串转换3.python控制台输出使用printprintabc#打印abc并换行printabc%s%d#打印abcdprintabc%sef%s%(d,g)#打印abcdefg三、控制流1.if语句i=10n=int(raw_input(enteranumber:))ifn==i:printequalelifni:printlowerelse:printhigher2.while语句whileTrue:passelse:pass#else语句可选,当while为False时,else语句被执行。pass是空语句。3.for循环for..inforiinrange(0,5):printielse:pass#打印0到4注:当for循环结束后执行else语句;range(a,b)返回一个序列,从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.局部变量在函数内定义的变量与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部的。这称为变量的作用域。global语句,为定义在函数外的变量赋值时使用global语句。deffunc():globalxprintxis,xx=1x=3func()printx#3#13.默认参数通过使用默认参数可以使函数的一些参数是‘可选的’。defsay(msg,times=1):printmsg*timessay(peter)say(peter,3)注意:只有在形参表末尾的那些参数可以有默认参数值,即不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参,只是因为赋给形参的值是根据位置而赋值的。4.关键参数如果某个函数有很多参数,而现在只想指定其中的部分,那么可以通过命名为这些参数赋值(称为‘关键参数’)。优点:不必担心参数的顺序,使函数变的更加简单;假设其他参数都有默认值,可以只给我们想要的那些参数赋值。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语句用来从一个函数返回,即跳出函数。可从函数返回一个值。没有返回值的return语句等价于returnNone。None表示没有任何东西的特殊类型。6.DocStrings(文档字符串)deffunc():'''Thisisself-definedfunctionDonothing'''passprintfunc.__doc__#Thisisself-definedfunction##Donothing五、模块模块就是一个包含了所有你定义的函数和变量的文件,模块必须以.py为扩展名。模块可以从其他程序中‘输入’(import)以便利用它的功能。在python程序中导入其他模块使用'import',所导入的模块必须在sys.path所列的目录中,因为sys.path第一个字符串是空串''即当前目录,所以程序中可导入当前目录的模块。1.字节编译的.pyc文件导入模块比较费时,python做了优化,以便导入模块更快些。一种方法是创建字节编译的文件,这些文件以.pyc为扩展名。pyc是一种二进制文件,是py文件经编译后产生的一种bytecode,而且是跨平台的(平台无关)字节码,是有python虚拟机执行的,类似于java或.net虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的。2.from..import如果想直接使用其他模块的变量或其他,而不加'模块名+.'前缀,可以使用from..import。例如想直接使用sys的argv,fromsysimportargv或fromsysimport*3.模块的__name__每个模块都有一个名称,py文件对应模块名默认为py文件名,也可在py文件中为__name__赋值;如果是__name__,说明这个模块被用户单独运行。4.dir()函数dir(sys)返回sys模块的名称列表;如果不提供参数,即dir(),则返回当前模块中定义名称列表。del-删除一个变量/名称,del之后,该变量就不能再使用。六、数据结构python有三种内建的数据结构:列表、元组和字典。1.列表list是处理一组有序项目的数据结构,列表是可变的数据结构。列表的项
本文标题:Python 基础语法
链接地址:https://www.777doc.com/doc-7027786 .html