还剩34页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
变量类型P yt ho n变量赋值Py t hon中的变量赋值不需要类型声明.每个变量在内存中创建,都包括变量的标识,名称和数据这些信息.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建.等号(=)用来给变量赋值等号(=)运算符左边是一个变量名,等号
(二)运算符右边是存储在变量中的值例如co un ter=100#赋值整型变量mi1es=
1.......elif判断条件2:执行语句2……elif判断条件3:执行语句
3.......e1se:执行语句4……P yt hon循环语句Python提供了for循环和while循环(在P yt h on中没有do.while循环):循环类型描述while循环在给定的判断条件为true时执行循环体,否则退出循环体for循环重复执行语句嵌套循环你可以在while循环体中嵌套f or循环wh ile循环while判断条件执行语句……whil e语句时还有另外两个重要的命令con t inue,b r ea k来跳过循环,continue用于跳过该次循环,break则是用于退出循环,此外〃判断条件〃还可以是个常值,表示循环必定成立,具体用法如下#co n t inue和bre a k用法i=1whilei〈10i+=lifi%20#非双数时跳过输出c on t i nueprinti#输出双数
2、
4、
6、
8、10i=1whilei#循环条件为1必定成立print i#输出110〜i+=1ifi〉10:#当i大于10时跳出循环b r eak循环使用语句e1se在py th o n中,while…else在循环条件为fa1se时执行else语句块for iterating_v arin sequ e n cestat emen ts sFor循环循环使用语句else在python中,for…else表示这样的意思,for中的语句和普通的没有区别,else中的语句会在循环正常执行完即for不是通过break跳出而中断的的情况下执行,w hi1e•••e1se也是一样.P ytho n for循环嵌套语法for iterati n g_v arin seque n cefor i te rat i ng_v a rin se qu encestat ementsss tate meritssPyth o n wh i1e循环嵌套语法while exp r es sionwhileexpre ssion:stat ementsstatements你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环,反之,你可以在for循环中嵌入w hi1e循环循环控制语句循环控制语句可以更改语句执行的顺序Python支持以下循环控制语句:控制语句描述break语句在语句块执行过程中终止循环,并且跳出整个循环continue语句在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环P ass语句pass是空语句,是为了保持程序结构的完整性P ython brea k语句Py th onb re ak语句就像在C语言中,打破了最小封闭fo r或whi1e循环break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句b reak语句用在while和f or循环中如果您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码.Pyth on continu e语句Python co n t inue语句跳出本次循环,而br eak跳出整个循环St ring(字符串)Li s t(列表)Tuple(元组)D ict i onary(字典)Python数字数字数据类型用于存储数值他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象.当你指定一个值时,Number对象就会被创建varl—1v ar2=10您也可以使用d el语句删除一些对象的引用.de1语句的语法是del v a rl[,v ar2[,va r3[...,v arN]]].您可以通过使用del语句删除单个或多个对象的引用例如de1v ardel vara,var bPyt hon支持四种不同的数字类型in t(有符号整型)1ong(长整型[也可以代表八进制和十六进制])float(浮点型)complex(复数)Python字符串str=Hello Wo rid!print(str)#输出完整字符串pri n t(s tr
[0])#输出字符串中的第一个字符pr int(s tr
[25])#输出字符串中第三个至第五个之间的字符串print(str
[2])#输出从第三个字continue语句用来告诉P ythn跳过当前循环的剩余语句,然后继续进行下一轮循环.contin ue语句用在w hi1e和for循环中.Pyt honp a ss语句P yt honpa ss是空语句,是为了保持程序结构的完整性P ass不做任何事情,一般用做占位语句Pyth on语言pass语句语法格式如下P ython日期和时间Pyth on程序能用很多方式处理日期和时间,转换日期格式是一个常见的功能.Python提供了一个time和calen d ar模块可以用于格式化日期和时间时间间隔是以秒为单位的浮点小数每个时间戳都以自从1970年1月1日午夜历元经过了多长时间来表示Python的t ime模块下有很多函数可以转换常见日期格式如函数t ime time用于获取当前时间戳,如下实例import time;#引入time模块ticks=t imetimeprint当前时间戳为,t icks上述也就是s t ruct_time元组这种结构具有如下属性序号属性值0tm_year20081t mmon1至I」12tmmday1到31tm_h our0到230至U59tm_s ec0至61(60或61是闰秒)tm_w day0到6(0是周一)tm_yda y1到366(儒略历)—1,0,1,一i是决定是否为夏令时的旗帜获取当前时间从返回浮点数的时间戳方式向时间元组转换,只要将浮点数传递给如1C aItime之类的函数#!/usr/bi n/p ython#一*一codin g:UTF-8-*一im p ort time1o c a1t i me=tim e1o caltim e timetimep rint本地时间o为〃,localtim e格式化日期我们可以使用time模块的strftim e方法来格式化日期,time,s trf tim e format[,t]#!/usr/bin/p ython#一*一c od ingUTF-8一*一import tim e#格式化成2016—03—2011:45:39形式p rint t i mestr ft imeoC,%Y—%m—%d%S〃,t ime localtimeo#格式化成Sa t Mar282224:242016形式pri nt timest r ftimev%a%b%d%S%Y〃,t ime.Io c altime#将格式字符串转换为时间戳a=S atMar282224242016prin tt ime.mk t ime time.s t rptimea,v%a%b%d%H%M%S%Y”p ython中时间日期格式化符号%y两位数的年份表示00-99%Y四位数的年份表示000—9999%m月份01-12%d月内中的一天0-31%H24小时制小时数0-23%I12小时制小时数01-12%M分钟数00=59%S秒00—59%a本地简化星期名称%A本地完整星期名称%b本地简化的月份名称%B本地完整的月份名称%c本地相应的日期表示和时间表示%j年内的一天001-366%p本地AMo或P.M.的等价符%U一年中的星期数00—53星期天为星期的开始%w星期0-6,星期天为星期的开始%W一年中的星期数00—53星期一为星期的开始%x本地相应的日期表示%x本地相应的时间表示%z当前时区的名称%%%号本身获取某月日历Calendar模块有很广泛的方法用来处理年历和月历,例如打印某月的月历:#!/usr/b in/pyth on#—*—c odingUTF—8—*一im p or t calen d ar cal=calen d armonth2016,1p rint”以下输出2016年1月份的日历p rint c al;T ime模块Time模块包含了以下内置函数,既有时间处理的,也有转换时间格式的:1t imealtzone返回格林威治西部的夏令时地区的偏移秒数如果该地区在格林威治东部会返回负值如西欧,包括英国.对夏令时启用地区才能使用.2time.asc time[t u pl e t ime]接受时间元组并返回一个可读的形式为”Tue Dec1118:07142008”2008年12月11日周二18时07分14秒的24个字符的字符串.3t ime.c loc k用以浮点数计算的秒数返回当前的CPU时间用来衡量不同程序的耗时,比time.t ime更有用4time,ct ime[sec s]作用相当于asctim elocaltime secs,未给参数相当于asc t ime5t imegmt ime[secs]接收时间戳1970纪元后经过的浮点秒数并返回格林威治天文时间下的时间元组t注t otm isdst始终为06t imelocaltime[secs]接收时间戳1970纪元后经过的浮点秒数并返回当地时间下的时间元组tt otm_i sdst可取0或1,取决于当地当时是不是夏令时.7time.mktime tupletime接受时间元组并返回时间戳1970纪元后经过的浮点秒数.8time.sleeps ecs推迟调用线程的运行,s ecs指秒数9timest rftimefmt[,t up1etime]接收以时间元组,并返回以可读字符串表示的当地时间,格式由fmt决定10time estrptime str,fmt=,%a%b%d%H%S%Y根据fmt的格式把一个时间字符串解析为时间元组.11time.time返回当前时间的时间戳1970纪元后经过的浮点秒数12time.t zset根据环境变量TZ重新初始化时间相关设置13T ime模块包含了以下2个非常重要的属性:1属性t imetimez one是当地时区未启动夏令时距离格林威治time timezoneo的偏移秒数〉0,美洲;〈二0大部分欧洲,亚洲I,非洲2属性time.t zname包含一对根据情况的不同而不同的字符串,分time,t zname别是带夏令时的本地时区名称,和不带的日历模块Cale ndar此模块的函数都是日历相关的,例如打印某月的字符月历星期一是默认的每周第一天,星期天是默认的最后一天更改设置需调用cal endars et f ir s tw e ek day函数模块包含了以下内置函数1返回一个多行字符串格式的y ear年年calendar c a1e ndarye ar,w=2,1=1,c=6o历,3个月一行,间隔距离为c每日宽度间隔为w字符每行长度为21*W+18+2*C1是每星期行数返回当前每周起始日期的设置.默认情况下,首次载入2calendar fir s twee kday模块时返回即星期一.caend ar0,是闰年返回True,否则为fa1se.3ca1e n dar.i sleapyear返回在两年之间的闰年总数4calendaro leap days yl,y2Y1,Y2返回一个多行字符串格式的年5ca1endar.mon th y ear,month,w=2,1=1y ear月日历,两行标题,一周一行每日宽度间隔为w字符.每行的长度为7*w+6m nth1是每星期的行数返回一个整数的单层嵌套列表每个子列表6calendar,monthcalendar year,m ont h装载代表一个星期的整数.Y ear年month月外的日期都设为0;范围内的日子都由该月第几日表示,从1开始返回两个整数第一个是该月的星期几的7calendar mo n thran geyear,montho日期码,第二个是该月的日期码.日从星期一到06星期日;月从1到12相当于print ca1endar.calendar yea8calendar prcaly ear,w=2,1=1,c=6r,w,1,c相当于print ca1endarcal9cal e ndar p r monthy ear,month,w=2,1=1o oe ndaryear,w,1,c设置每周的起始日期码.1calendar,s etfir stweek da yweek da y00星期一到6星期日.和t ime.gmtime相反:接受1ca1e ndar.timegmt upie time1一个时间元组形式,返回该时刻的时间戳1970纪元后经过的浮点秒数12返回给定日期的日期码0星期一ca1e ndarw eekday year,month,day到6星期日月份为1一月到1212月.函数Pyt hon函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print但你也可以自己创建函数,这被叫做用户自定义函数定义一个函数你可以定义一个由自己想要功能的函数,以下是简单的规则函数代码块以关键词开头,后接函数标识符名称和圆括号.def任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定义参数函数的第一行语句可以选择性地使用文档字符串一用于存放函数说明函数内容以冒号起始,并且缩进.[表达式]结束函数,选择性地返回一个值给调用方不带表达式的returnret urn相当于返回None语法def fun ction n a meparam eters:〃函数一文档字符串〃fun ctions ui tere tur n[e xpre ssion]参数传递在pytho n中,类型属于对象,变量是没有类型的可更改mu ta ble与不可更改immutable对象在python中,str ings,tu p1es,和numb ers是不可更改的对象,而1ist,dict等则是可以修改的对象不可变类型:变量赋值后再赋值这里实际是新生成一个int值对象再让a=5a=10,10,a指向它,而被丢弃,不是改变的值,相当于新生成了5a a可变类型变量赋值后再赋值则是将li stla的第三个元素值更la=[l,2,3,4]la
[2]=5改,本身la没有动,只是其内部的一部分值被修改了P ython函数的参数传递不可变类型:类似C++的值传递,如整数、字符串、元组.如fun a,传递的只是a的值,没有影响a对象本身比如在fun a内部修改a的值,只是修改另一个复制的对象,不会影响a本身可变类型类似C++的引用传递,如列表,字典如fun la,则是将la真正的传过去,修改后f un外部的1a也会受影响模块P ythonPytho n模块Mod ule,是一个Py thon文件,以.py结尾,包含了Py thon对象定义和P ython语句模块让你能够有逻辑地组织你的Pytho n代码段.把相关的代码分配到一个模块里能让你的代码更好用,更易懂模块能定义函数,类和变量,模块里也能包含可执行的代码语句imp ort模块的引入模块定义好后,我们可以使用impo rt语句来引入模块,语法如下例子下例是个简单的模块s upport.p ysupp ort.py模块de fp rint_f un cp ar:print Hello:,par retur nim portmodul e1[,mod ule2mo duleN]比如要引用模块ma th,就可以在文件最开始的地方用来引入.在调用mathimport math模块中的函数时,必须这样引用模块名函数名语句f rom…import符开始的字符串print st r*2#输出字符串两次print st r+ESD#输出连接的字符串Python列表List列表是Pyth on中使用最频繁的数据类型列表可以完成大多数集合类的数据结构实现它支持字符,数字,字符串甚至可以包含列表即嵌套.列表用[]标识,是p ython最通用的复合数据类型.列表中值的切割也可以用到变量[头下标尾下标],就可以截取相应的列表,从左到右索引默认0开始,从右到左索引默认一1开始,下标可以为空表示取到头或尾加号+是列表连接运算符,星号*是重复操作如下实例list=I runoob,786,
2.23,john,,702]tinylist=[123,o5john,]pr int list#输出完整列表p rint1i st
[0]#输出列表的第一个元素prin tli st
[13]#输出第二个至第三个元素print list[2:1#输出从第三个开始至列表末尾的所有元素p rinttinyli st*2#输出列表两次p rint1i st+tiny1i st#打印组合的列表更新列表你可以对列表的数据项进行修改或更新,你也可以使用a ppe nd方法来添加列表项,如下所示实例Python20+#!/u sr/bin/p ython#—c oding:UTF-8-=[]##空歹U表list,ap pendC Google7##使用append添加元素1i stappen dCRunoob5p ri ntli st删除列表元素可以使用del语句来删除列表的元素,如下实例Python的from语句让你从模块中导入一个指定的部分到当前命名空间中.语法如下例如,要导入模块f ib的fibona cci函数,使用如下语句fr om fib import f ib onacci语句f rom…i mport*把一个模块的所有内容全都导入到当前的命名空间也是可行的,只需使用如下声明函数dirdi r函数一个排好序的字符串列表,内容是一个模块里定义过的名字.返回的列表容纳了在一个模块里定义的所有模块,变量和函数.、和函数g1o balsloc a1s根据调用地方的不同,g lobals和locals函数可被用来返回全局和局部命名空间里的名字如果在函数内部调用locals,返回的是所有能在该函数里访问的命名如果在函数内部调用globalsO,返回的是所有在该函数里能访问的全局名字.两个函数的返回类型都是字典所以名字们能用key s函数摘取函数reload当一个模块被导入到一个脚本,模块顶层部分的代码只会被执行一次因此,如果你想重新执行模块里顶层部分的代码,可以用reloadO函数.该函数会重新导入之前导入过的模块在这里,module_name要直接放模块的名字,而不是一个字符串形式比如想重载hello模块,如下reloa dhel1o中的包P ython包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的Pyt hon的应用环境.简单来说,包就是文件夹,但该文件夹下必须存在文件,该文init,py件的内容可以为空用于标识当前文件夹是一个包ini py文件Pyt hon I/O本章只讲述所有基本的的I/0函数,更多函数请参考Python标准文档打印到屏幕最简单的输出方法是用pr int语句,你可以给它传递零个或多个用逗号隔开的表达式此函数把你传递的表达式转换成一个字符串表达式,读取键盘输入Pyth on提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘如下raw_inpu tinp ut函数raw_inputr aw_input[p ro mpt]函数从标准输入读取一个行,并返回一个字符串去掉结尾的换行符函数inpu t函数和函数基本类彳以,但是input可以接收一个Py tinput[pr ompt]raw_i nput[p rompt]hon表达式作为输入,并将运算结果返回打开和关闭文件现在,您已经可以向标准输入和输出进行读写现在,来看看怎么读写实际的数据文件Python提供了必要的函数和方法进行默认情况下的文件基本操作你可以用对象做大部分的文件操作.file函数o pen你必须先用Python内置的open函数打开一个文件,创建一个f ile对象,相关的方法才可以调用它进行读写语法fi1e object=o penfile_n a me[,a cc ess_mode][,b ufferi ng]对象的属性File一个文件被打开后,你有一个f ile对象,你可以得到有关该文件的各种信息.以下是和file对象相关的所有属性的列表属性描述f ile.closed返回tr ue如果文件已被关闭,否则返回f alsefi1e.mode返回被打开文件的访问模式fil eo nam e返回文件的名称.f ile.sof t如果用print输出后,必须跟一个空格符,则返回fals e.否则返回t rue.space方法C loseFile对象的close方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入当一个文件对象的引用被重新指定给另一个文件时,Python会关闭之前的文件用c lose方法关闭文件是一个很好的习惯语法fileO b jec t.clo se方法wri te Write方法可将任何字符串写入一个打开的文件需要重点注意的是,Pyth on字符串可以是二进制数据,而不是仅仅是文字.wr ite方法不会在字符串的结尾添加换行符\n file0bj ect.w ritestring方法read read方法从一个打开的文件中读取一个字符串.需要重点注意的是,Py thon字符串可以是二进制数据,而不是仅仅是文字语法fi1e Obj ect.r ead[c ou nt]Pytho n的os模块提供了帮你执行文件处理操作的方法,比如重命名和删除文件要使用这个模块,你必须先导入它,然后才可以调用相关的各种功能.rename方法rename方法需要两个参数,当前的文件名和新文件名.os.renamec urrent_f ilename,new_f ilen ame你可以用remove方法删除文件,需要提供要删除的文件名作为参数.os.r emovef ile_name里的目录Py thon所有文件都包含在各个不同的目录下,不过Pyt hon也能轻松处理s模块有许多方法能帮你创建,删除和更改目录方法mkd ir可以使用OS模块的mkdi r方法在当前目录下创建新的目录们你需要提供一个包含了要创建的目录名称的参数方法chdir可以用c hdir方法来改变当前的目录chdir方法需要的一个参数是你想设成当前目录的目录名称方法rmd irrmdir方法删除目录,目录名称以参数传递在删除这个目录之前,它的所有内容应该先被清除文件、目录相关的方法Fi1e对象和OS对象提供了很多文件与目录的操作方法,可以通过点击下面链接查看详情File对象方法file对象提供了操作文件的一系列方法OS对象方法提供了处理文件及目录的一系列方法实例Python2o0+#!/u sr/bin/p ythonl i st1=[7physics,ch emistry,1997,2000]printl istld e11ist1
[2]pr int”After deleting valueat index2:〃p rintli stlp ython列表脚本操作符列表对+和*的操作符与字符串相似.+号用于组合列表,*号用于重复列表.如下所示表达式结果描述P ython1en[l,2,3]3长度[1,2,3,4,5,组合[1,2,3]+6][4,5,6]I Hi!,Hi!,重复Hi!,Hi!]Hi!]*43in[1,2,3]Tr ue元素是否存在于列表中for xin[1,123迭代2,3]p rintx,Pyt hon列表函数方法P yth on包含以下函数序函数1cmplistl,1ist2比较两个列表的元素2len1ist列表元素个数3max li st返回列表元素最大值4min list返回列表元素最小值5list seq将元组转换为列表Py thon包含以下方法序方法1list.appendobj在列表末尾添加新的对象2listcountob j统计某个元素在列表中出现的次数3list.e xtendseq在列表末尾一次性追加另一个序列中的多个值用新列表扩展原来的列表41istindex obj从列表中找出某个值第一个匹配项的索引位置5listo insertinde x,obj将对象插入列表6li st.pop obj=1ist[—1移除列表中的一个元素默认最后一个元素,并且返回该元素的值7listr emoveobj移除列表中某个值的第一个匹配项8list,r evers反向列表中元素T9list,sort[func]对原列表进行排序Py thon元组元组是另一个数据类型,类似于Li st列表.元组用”〃标识.内部元素用逗号隔开.但是元组不能二次赋值,相当于只读列表修改元组元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,如下实例#!/usr/bin/p ython#-*一codingU TF—8-*一tup1=12,
34.56;tup2=abc,x yz;井以下修改元组元素操作是非法的#tupl
[0]=100;#创建一个新的元组t up3=t upl+t up2;pr inttu p3;删除元组元组中的元素值是不允许删除的,但我们可以使用de1语句来删除整个元组,如下实例#!/u sr/bin/python tup=C physics,chemistry7,1997,2000;prin ttup;del tup;p rint”After deleting tup:p rinttup;元组运算符与字符串一样,元组之间可以使用十号和*号进行运算这就意味着他们可以组合和复制,运算后会生成一个新的元组表达式结果描述Python1en1,2,33计算元素个数1,2,3+4,5,61,2,3,4,5,6连接Hi!,*4C Hi!\Hi!,复制Hi!’,Hi!3in1,2,3True元素是否存在for xin1,123迭代2,3:print x,元组索引,截取因为元组也是一个序列,所以我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示元组L=sp am,Spam,SPAM!表达式结果描述Python1L
[2]SPAM!读取第三个元素L[—2]‘S pam反向读取;读取倒数第二个元素L[1:]Spam,SPAM!截取元素无关闭分隔符任意无符号的对象,以逗号隔开,默认为元组,如下实例:#!/usr/bin/py tho nprintfabc,—
4.24e93,18+66j,r xyz;x,y=1,2;p rint〃V alue of x,y“,x,y;元组内置函数Python元组包含了以下内置函数1cm ptup lei,tuple2比较两个元组元素.21ent uple计算元组元素个数3max tuple返回元组中元素最大值4mintupl e返回元组中元素最小值5t upleseq将列表转换为元组Pyth on字典字典di ctionary是除列表以外py thon之中最灵活的内置数据结构类型列表是有序的对象集合,字典是无序的对象集合两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取字典用〃{}〃标识字典由索引key和它对应的值v alue组成di ct={}dict[‘one]二This isonedict
[2]=〃Th isistwo tinydict={name:jo hn,co de:6734,dept,sal es}pr intdict[one]#输出键为,one的值p rintdie t
[2]#输出键为2的值printtinydi ct#输出完整的字典print tin ydict.k eys#输出所有键print tiny d ict.valu es#输出所有值修改字典向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例实例#!/us r/b in/p ythond ict={NameZara,Age:7,Class,:First};diet Age7]=8;#updateexistin gentrydict[JSc hoo1=〃DP SS chool”;#A dd new entr运算描述实例十加-两个对象相加a+b输出结果30-减-得到负数或是一个数减a-b输出结果一10去另一个数*乘-两个数相乘或是返回一a**b输出结果200个被重复若干次的字符串/除-x除以y b/a输出结果2%取模一返回除法的余数b%a输出结果0*幕一返回x的y次幕a**b为10的20次方,输出结果100000000000000000000。
个人认证
优秀文档
获得点赞 0