还剩31页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
Python变量类型变量赋值Python中的变量赋值不需要类型申明每个变量在内存中创立,都包括变量的标识,名称和数据这些信息每个变量在使用前都必须赋值,变量赋值后来该变量才会被创立等号=用来给变量赋值等号=运算符左边是一种变量名,等号=运算符右边是存储在变量中的值例如counter=100#赋值整型变量miles=
1000.0#浮点型name二〃John〃#字符串print counterprintmilesprint name多种变量赋值Python容许你同步为多种变量赋值例如H-b-c-1以上实例,创立一种整型对象,值为1,三个变量被分派到相似的内存空间上您也可认为多种对象指定多种变量例如a,b,c=1,2,〃john〃以上实例,两个整型对象1和2的分派给变量a和b,字符串对象〃john〃分派给变量Co原则数据类型在内存中存储的数据可以有多种类型例如,一种人的年龄可以用数字来存储,他的名字可以用字符来存储diet
[2]=This istwo”tinydict={name:john,,‘code:6734,dept:sales}print diet[5one,]#输出键为one的值print diet
[2]#输出键为2的值print tinydict#输出完整的字典print tinydict.keys#输出所有键print tinydict.values#输出所有值修改字典向字典添加新内容的措施是增长新的键/值对,修改或删除已经有键/值对如下实例实例#!/usr/bin/python diet={Name:‘Zara,‘Age:7,Class:First};diet「Age]=8;#update existingentry dietSchooT]=〃DPS School〃;#Add newentry print diet[Age]:〃,diet[Age];print〃dic t[SchooF]:〃,diet[SchooF];删除字典元素能删单一的元素也能清空字典,清空只需一项操作显示删除一种字典用del命令,如下实例实例#!/usr/bin/python ff-*-coding:UTF-8-*-diet={Name:Zara,Ag e:7,Class:First};del dietName5];#删除键是‘Name的条目di ct.clear;#清空词典所有条目del diet;#删除词典print diet[Age〃,diet]Age];print diet[School]:〃,diet[School];字典键的特性字典值可以没有限制地取任何python对象,既可以是原则的对象,也可以是顾客定义的,但键不行两个重要的点需要记住1)不容许同一种键出现两次创立时假如同一种键被赋值两次,后一种值会被记住,如下实例#!/usr/bin/python diet={Name:‘Zara,‘Age:7,‘Name:Manni};printdiet[Name]:〃,diet[Name];字典内置函数措施Python字典包括了如下内置函数:函数及描述empdictl,dict2比较两个字典元素len diet计算字典元素个数,即键的总数str diet输出字典可打印的字符串表达type variable返回输入的变量类型,假如变量是字典就返回字典类型Python字典包括了如下内置措施序函数及描述1diet,clear删除字典内所有元素2diet,copy返回一种字典的浅复制3diet,fromkeys seq[,val]创立一种新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值4diet,getkey,default二None返回指定键的值,假如值不在字典中返回default值5diet,has keykey假如键在字典diet里返回true,否则返回false6diet,items以列表返回可遍历的键,值元组数组7diet,keys以列表返回一种字典所有的键8diet,setdefaultkey,default=None和get类似,但假如键不存在于字典中,将会添加键并将值设为default9diet,updatedict2把字典dict2的键/值对更新到diet里10diet,values以列表返回字典中的所有值11popkey[,default]删除字典给定键key所对应的值,返回值为被删除的值key值必须给出否则,返回default值12popitem随机返回并删除字典中的一对键和值Python数据类型转换有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可如下几种内置的函数可以执行数据类型之间的转换这些函数返回一种新的对象,表达转换的值Siintx[base]将x转换为一种整数longx[base]将x转换为一种长整数float x将x转换到一种浮点数complex real创立一种复数str x将对象x转换为字符串[,imag]reprx将对象x转换为体现式字符串eval str用来计算在字符串中的有效Python体现式,并返回一种对象tuple s将序列s转换为一种元组lists将序列s转换为一种列表set s转换为可变集合diet d创立一种字典d必须是一种序列key,value元组frozenset s转换为不可变集合chr xW一种整数转换为一种字符unichr x将一种整数转换为Unicode字符0rd x将一种字符转换为它的整数值hex x—种整数转换为一种十六进制字符串0ct x将一种整数转换为一种八进制字符串Python运算Python算术运算符a=10,b=20如下假设变量运算描述实例+加-两个对象相加a+b输出成果30辰二得到负数或是一种数减b输出成果-10去另一种数*乘-两个数相乘或是返回一a*b输出成果200种被反复若干次的字符串/除-x除以y b/a输出成果2%取模-返回除法的余数b%a输出成果0**幕-返回X的y次幕a**b为10的20次方,输出成果//取整除-返回商的整数部分9//2输出成果4,
9.0//
2.0输出成果
2、
4、
6、
8、10i=1while1:#循环条件为1必然成立print i#输出l~10i+=1if i10:#当i不小于10时跳出循环break循环使用语句else在python中,while…else在循环条件为false时执行else语句块for iterating_var insequence:statementssFor循环循环使用语句else在python中,for…else表达这样的意思,for中的语句和一般的没有区别,else中的语句会在循环正常执行完即for不是通过break跳出而中断的的状况下执行,while…else也是同样Python for循环嵌套语法for iterating_var insequence:for iterating_var insequence:stateme ntss statementssPythonwhile循环嵌套语法while expression:while expression:statements statements你可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环,反之,你可以在for循环中嵌入while循环循环控制语句循环控制语句可以更改语句执行的次序Python支持如下循环控制语句:break语句在语句块执行过程中终止循环,并且跳出整个循环控制语句描述Python定义了某些原则类型,用于存储多种类型的数据Python有五个原则的数据类型Numbers(数字)String(字符串)List(列表)Tuple(元组)Dictionary(字典)Python数字数字数据类型用于存储数值他们是不可变化的数据类型,这意味着变化数字数据类型会分派一种新的对象当你指定一种值时,Number对象就会被创立varl=1var2=10您也可以使用del语句删除某些对象的引用del语句的语法是del varl[,var2[,var3varN]]]]您可以通过使用del语句删除单个或多种对象的引用例如del vardelvar_a,varbPython支持四种不一样的数字类型int(有符号整型)long(长整型[也可以代表八进制和十六进制])float(浮点型)complex(复数)continue语句在语句块执行过程中终止目前循环,跳出该次循环,执行下一次循环pass语句pass是空语句,是为了保持程序构造的完整性Python break语句Python break语句,就像在C语言中,打破了最小封闭for或while循环break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句break语句用在while和for循环中假如您使用嵌套循环,break语句将停止执行最深层的循环,并开始执行下一行代码Python continue语句Python continue语句跳出本次循环,而break跳出整个循环continue语句用来告诉Python跳过目前循环的剩余语句,然后继续进行下一轮循环continue语句用在while和for循环中Python pass语句Python pass是空语句,是为了保持程序构造的完整性pass不做任何事情,一般用做占位语句Python语言pass语句语法格式如下Python日期和时间Python程序能用诸多方式处理日期和时间,转换日期格式是一种常见的功能Python提供了一种time和calendar模块可以用于格式化日期和时间时间间隔是以秒为单位的浮点小数每个时间戳都以自从1970年1月1日午夜(历元)通过了多长时间来表达Python的time模块下有诸多函数可以转换常见日期格式如函数time.time()用于获取目前时间戳,如下实例import time;#引入time模块ticks=time,timeprint〃目前时间戳为〃,ticks上述也就是struct_time元组这种构造具有如下属性序号I属性0tm_year1tmmon1到122tmmday1到313tmhour0到2340至I」595tm_sec0到61(60或61是闰秒)6tm_wday0到|6(0是周一)7tm_yday1到366(儒略历)8tm_isdst-1,0,1,T是决定与否为夏令时的旗帜获取目前时间从返回浮点数的时间戳方式向时间元组转换,只要将浮点数传递给如localtime之类的函数#!/usr/bin/python#-*-coding:UTF-8-*-import timelocaltime=time,localtimetime.timeprint〃当地时间为localtime格式化日期我们可以使用time模块的strftime措施来格式化日期,time,strftimeformat[,t]#!/usr/bin/python#-*-coding:UTF-8-*-import time#格式化成-03-20H:45:39形式print time,strftime/z%Y-%m-%d〃,time,localtime#格式化成Sat Mar2822:24:24形式print time,strftime/z%a%b%d%H:%M:%S time,localtime#将格式字符串转换为时间戳a二〃Sat Mar2822:24:24print time,mktime time.strptimea,//%a%b%d%H:%M:%S%Y〃python中时间日期格式化符号:%y两位数的年份表达00-99%Y四位数的年份表达000-9999%m月份01-12%d月内中的一天0-31%H24小时制小时数0-23%112小时制小时数01-12%M分钟数00=59%S秒00-59%a当地简化星期名称%A当地完整星期名称%b当地简化的月份名称%B当地完整的月份名称%c当地对应的日期表达和时间表达%j年内的一天001-366%p当地A.M.或P.M.的等价符%U一年中的星期数00-53星期天为星期的开始%w星期0-6,星期天为星期的开始%W一年中的星期数00-53星期一为星期的开始%x当地对应的日期表达%X当地对应的时间表达%z目前时区的名称%%%号自身获取某月日历Calendar模块有很广泛的措施用来处理年历和月历,例如打印某月的月历:#!/usr/bin/python#coding:UTF-8-*-import calendarcal二calendar,month,1print〃如下输出1月份的日历:print cal;Time模块Time模块包括了如下内置函数,既有时间处理的,也有转换时间格式的:序函数及描述time,altzone返回格林威治西部的夏令时地区的偏移秒数假如该地区在格林威治东部会返回负值如西欧,包括英国对夏令时启用地区才能使用2time.asctime[tupletime]接受时间元组并返回一种可读的形式为〃Tue Dec1118:07:14〃12月11日周二18时07分14秒的24个字符的字符串3time,clock用以浮点数计算的秒数返回目前的CPU时间用来衡量不一样程序的耗时,比time.time更有用4time.ctime[secs]作用相称于asctime localtimesecs,未给参数相称于asctime5time.gmtinie[secs]接受时间戳1970纪元后通过的浮点秒数并返回格林威治天文时间下的时间元组t注t.tmisdst一直为06time,localtime[secs]接受时间戳1970纪元后通过的浮点秒数并返回当地时间下的时间元组t t.tm_isdst可取0或1,取决于当地当时是不是夏令时7time,mktimetupletime接受时间元组并返回时间戳1970纪元后通过的浮点秒数8time,sleepsecs推迟调用线程的运行,secs指秒数9time,strftimefmtL tupletime]接受以时间元组,并返回以可读字符串表达的当地时间,格式由fmt决定10time,strptimestr,fmt=%b%d%Y’根据fmt的格式把一种时间字符串解析为时间元组11time,time返回目前时间的时间戳1970纪元后通过的浮点秒数12time,tzset根据环境变量TZ重新初始化时间有关设置Time模块包括了如下2个非常重要的属性:time,timezone1属性time,timezone是当地时区未启动夏令时距离格林威治的偏移秒数0,美洲;=0大部分欧洲,亚洲,非洲2time,tzname属性time.tzname包括一对根据状况的不一样而不一样的字符串,分别是带夏令时的当地时区名称,和不带的Calendar日历模块此模块的函数都是日历有关的,例如打印某月的字符月历星期一是默认的每周第一天,星期天是默认的最终一天更改设置需调用calendar,setfirstweekday函数模块包括了如下内置函数calendar,calendaryear,w=2,1=1,c=61返回一种多行字符串格式的year年年历,3个月一行,间隔距离为Co每日宽度间隔为W字符每行长度为21*W+18+2*Co1是每星期行数2calendar,firstweekday返回目前每周起始日期的设置默认状况下,初次载入caendar模块时返回3即星期一3calendar,isleapyear是闰年返回True,否则为false4calendar,leapdaysyl,y2返回在Yl,Y2两年之间的闰年总数5calendar,month year,month,w=2,1=1返回一种多行字符串格式的year年month月日历,两行标题,一周一行每日宽度间隔为w字符每行的长度为7*w+61是每星期的行数6calendar,monthcalendar year,month返回一种整数的单层嵌套列表每个子列表装载代表一种星期的整数Year年month月外的日期都设为0;范围内的日子都由该月第几日表达,从1开始7calendar,monthrangeyear,month返回两个整数第一种是该月的星期几的日期码,第二个是该月的日期码日从0星期一到6星期日;月从1到128calendar,prcalyear,w=2,1=1,c=6相称于print calendar,calendar year,w,1,c.9calendar,prmonth year,month,w=2,1=1相称于print calendar,calendar year,w,1,c10calendar,setfirstweekdayweekday设置每周的起始日期码0星期一到6星期日11calendar,timegm(tupletime)和time.gmtime相反接受一种时间元组形式,返回该时刻的时间戳(1970纪元后通过的浮点秒数)12calendar,weekday(year,month,day)返回给定日期的日期码0(星期一)到6(星期日)月份为1(一月)至IJ12(12月)Python函数函数是组织好的,可反复使用的,用来实现单一,或有关联功能的代码段函数能提高应用的模块性,和代码的反复运用率你已经懂得Python提供了许多内建函数,例如print但你也可以自己创立函数,这被叫做顾客自定义函数定义一种函数你可以定义一种由自己想要功能的函数,如下是简朴的规则def函数代码块以关键词开头,后接函数标识符名称和圆括号()任何传入参数和自变量必须放在圆括号中间圆括号之间可以用于定义参数函数的第一行语句可以选择性地使用文档字符串一用于寄存函数阐明函数内容以冒号起始,并且缩进return[体现式]结束函数,选择性地返回一种值给调用方不带体现式的return相称于返回None语法def functionnameparameters:〃函数一文档字符串〃function_suitereturn[expression]参数传递在python中,类型属于对象,变量是没有类型的可更改mutable与不可更改immutable对象在python中,strings,tuples,和numbers是不可更改的对象,而list,diet等则是可以修改的对象a=5a=10,不可变类型变量赋值后再赋值这里实际是新生成一种int值对象10,再让a指向它,而5被丢弃,不是变化a的值,相称于新生成了Hola=[l,2,3,4]la
[2]=5可变类型变量赋值后再赋值则是将list la的第三个元素值更改,自身la没有动,只是其内部的一部分值被修改了python函数的参数传递不可变类型类似C++的值传递,如整数、字符串、元组如fun a,传递的只是a的值,没有影响a对象自身例如在fun a内部修改a的值,只是修改另一种复制的对象,不会影响a自身可变类型类似C++的引用传递,如列表,字典如fun la,则是将la真正的传过去,修改后fun外部的la也会受影响Python模块Python模块Module,是一种Python文献,以.py结尾,包括了Python对象定义和Python语句模块让你可以有逻辑地组织你的Python代码段把有关的代码分派到一种模块里能让你的代码更好用,更易懂模块能定义函数,类和变量,模块里也能包括可执行的代码Python字符串str=J HelloWorld!print str#输出完整字符串print str
[0]#输出字符串中的第一种字符print str[2:5]#输出字符串中第三个至第五个之间的字符串printstr[2:]#输出从第三个字符开始的字符串print str*2#输出字符串两次print str+〃TEST#输出连接的字符串Python列表List列表是Python中使用最频繁的数据类型列表可以完毕大多数集合类的数据构造实现它支持字符,数字,字符串甚至可以包括列表即嵌套列表用[]标识,是python最通用的复合数据类型列表中值的切割也可以用到变量[头下标:尾下标],就可以截取对应的列表,从左到右索引默认0开始,从右到左索引默认-1开始,下标可认为空表达取到头或尾加号+是列表连接运算符,星号*是反复操作如下实例list=[runoob,786,
2.23,john,
70.2]tinylist=[123,john]print list#输出完整列表print list
[0]#输出列表的第一种元素printlist[l:3]#输出第二个至第三个元素print list[2:]#输出从第三个开始至列表末尾的所有元素import语句模块的引入模块定义好后,我们可以使用import语句来引入模块,语法如下例子下例是个简朴的模块support,py support,py模块def print_func par:print Hello:,par returnimportmodulel[,module2[,...moduleN]import math例如要引用模块math,就可以在文献最开始的地方用来引入在调用math模块中的函数时,必须这样引用模块名.函数名from,•,import语句Python的from语句让你从模块中导入一种指定的部分到目前命名空间中语法如下例如,要导入模块fib的fibonacci函数,使用如下语句from fibimport fibonaccifrom,,•import*语句把一种模块的所有内容全都导入到目前的命名空间也是可行的,只需使用如下申明dir函数dir函数一种排好序的字符串列表,内容是一种模块里定义过的名字返回的列表容纳了在一种模块里定义的所有模块,变量和函数、globals和locals函数根据调用地方的不一样,globalsO和locals函数可被用来返回全局和局部命名空间里的名字假如在函数内部调用locals,返回的是所有能在该函数里访问的命名假如在函数内部调用globalsO,返回的是所有在该函数里能访问的全局名字两个函数的返回类型都是字典因此名字们能用keys函数摘取reload函数当一种模块被导入到一种脚本,模块顶层部分的代码只会被执行一次因此,假如你想重新执行模块里顶层部分的代码,可以用reload函数该函数会重新导入之前导入过的模块在这里,module_name要直接放模块的名字,而不是一种字符串形式例如想重载hello模块,如下reloadhelloPython中的包包是一种分层次的文献目录构造,它定义了一种由模块及子包,和子包下的子包等构成的Python的应用环境—init—.py简朴来说,包就是文献夹,但该文献夹下必须存在.py文献,该文献的内容可认为空用于标识目前文献夹是一种包Python文献I/O本章只讲述所有基本的的I/O函数,更多函数请参照Python原则文档打印到屏幕最简朴的输出措施是用print语句,你可以给它传递零个或多种用逗号隔开的体现式此函数把你传递的体现式转换成一种字符串体现式,读取键盘输入Python提供了两个内置函数从原则输入读入一行文本,默认的原则输入是键盘如下raw_inputinputraw_input函数raw_input[prompt]函数从原则输入读取一种行,并返回一种字符串去掉结尾的换行符input函数input[prompt]raw_input[prompt]函数和函数基本类似,不过input可以接受一种Python体现式作为输入,并将运算成果返回打开和关闭文献目前,您已经可以向原则输入和输出进行读写目前,来看看怎么读写实际的数据文献Python提供了必要的函数和措施进行默认状况下的文献基本操作你可以file用对象做大部分的文献操作open函数你必须先用Python内置的open函数打开一种文献,创立一种file对象,有关的措施才可以调用它进行读写语法=open[,accessjnode][,buffering]File对象的属性一种文献被打开后,你有一种file对象,你可以得到有关该文献的多种信息如下是和file对象有关的所有属性的列表属性描述返回true假如文献已被关闭,否则返回false返回被打开文献的访问模式返回文献的名称假如用print输出后,必须跟一种空格符,则返回false否则返回trueclose措施File对象的close措施刷新缓冲区里任何还没写入的信息,并关闭该文献,这之后便不能再进行写入当一种文献对象的引用被重新指定给另一种文献时,Python会关闭之前的文献用close措施关闭文献是一种很好的习惯语法0write措施write措施可将任何字符串写入一种打开的文献需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字write措施不会在字符串的结尾添加换行符nstringread措施read措施从一种打开的文献中读取一种字符串需要重点注意的是,Python字符串可以是二进制数据,而不是仅仅是文字语法[count]Python的os模块提供了帮你执行文献处理操作的措施,例如重命名和删除文献要使用这个模块,你必须先导入它,然后才可以调用有关的多种功能rename措施rename措施需要两个参数,目前的文献名和新文献名os.renamecurrent_,new你可以用remove措施删除文献,需要提供要删除的文献名作为参数os.remove Python里的目录所有文献都包括在各个不一样的目录下,不过Python也能轻松处理os模块有许多措施能帮你创立,删除和更改目录mkdir措施可以使用OS模块的mkdir措施在目前目录下创立新的目录们你需要提供一种包括了要创立的目录名称的参数chdir措施可以用chdir措施来变化目前的目录chdir措施需要的一种参数是你想设成目前目录的目录名称rmdir措施rmdir措施删除目录,目录名称以参数传递在删除这个目录之前,它的所有内容应当先被清除文献、目录有关的措施File对象和OS对象提供了诸多文献与目录的操作措施,可以通过点击下面链接查看详情File对象措施file对象提供了操作文献的一系列措施OS对象措施提供了处理文献及目录的一系列措施print tinylist*2#输出列表两次print list+tinylist#打印组合的列表更新列表你可以对列表的数据项进行修改或更新,你也可以使用append措施来添加列表项,如下所示实例Python
2.0+#!/usr/bin/python#-*-coding:UTF-8-*-list=[]##空列表list.ap pendGoogle##使用append添加元素list,append Runoob,print list删除列表元素可以使用del语句来删除列表的元素,如下实例实例Python
2.0+#!/usr/bin/python listl=[physics,chemistry,1997,]print list1del listl
[2]print AfterPython列表脚本操作符deleting valueat index2:〃print listl列表对+和*的操作符与字符串相似+号用于组合列表,*号用于反复列表如下所示Python体现式~len[l,2,3]3长度[1,2,3]+[4,[1,2,3,4,5,6]组合5,6][Hi!]*4[Hi!,Hi!,反复Hi!,Hi!]3in[1,2,3]True元素与否存在于列表中for xin[1,2,123迭代3]:print x,Python列表函数措施Python包括如下函数序啊数1cmplistl,list2比较两个列表的兀素2lenlist列表元素个数3max list返回列表元素最大值4min list返回列表元素最小值5list seq将元组转换为列表Python包括如下措施序I措施1list.append obj在列表末尾添加新的对象2list,count obj记录某个元素在列表中出现的次数3list,extend seq在列表末尾一次性追加另一种序列中的多种值用新列表扩展本来的列表4list,indexobj从列表中找出某个值第一种匹配项的索引位置5list,insert index,obj将对象插入歹lj表6list.popobj=list[T]移除列表中的一种元素默认最终一种元素,并且返回该元素的值7list.removeobj移除列表中某个值的第一种匹配项8list.reverse反向列表中元素9list,sort[func]对原列表进行排序Python元组元组是另一种数据类型,类似于List列表元组用〃〃标识内部元素用逗号隔开不过元组不能二次赋值,相称于只读列表修改元组元组中的元素值是不容许修改的,但我们可以对元组进行连接组合,如下实例:#!/usr/bin/python#-*-coding:UTF-8-*-tupl=12,
34.56;tup2=abc,xyz;#如下修改元组元素操作是非法的#tupl
[0]=100;#创立一种新的元组tup3=tupl+tup2;print tup3;删除元组元组中的元素值是不容许删除的,但我们可以使用del语句来删除整个元组,如下实例#!/usr/bin/pythontup=physics,chemistry’,1997,;print tup;del tup;print Afterdeleting tup:print tup;元组运算符与字符串同样,元组之间可以使用+号和*号进行运算这就意味着他们可以组合和复制,运算后会生成一种新的元组Python体现式成果描述计算元素个数1lenl,2,33连章1,2,3,4,5,61,2,3+4,5,6Hi!,*4CHi!\Hi!\复制Hi!,Hi!3in1,2,3True元素与否存在for xin1,2,3:123迭代print x,元组索引,截取由于元组也是一种序列,因此我们可以访问元组中的指定位置的元素,也可以截取索引中的一段元素,如下所示元组Python体现式成果描述L
[2]SPAM!读取第三个元素LE-2]Spam5反向读取;读取倒数第二个元素L[l:]Spam,SPAM!截取元素L=spam,‘Spam,SPAM!无关闭分隔符任意无符号的对象,以逗号隔开,默认为元组,如下实例:#!/usr/bin/pythonprintabc,-
4.24e93,18+
6.6j,xyz’;x,y=1,2;print Valueof x,y:,x,y;元组内置函数Python元组包括了如下内置函数1cmptuplel,tuple2比较两个元组元素2len tuple计算元组元素个数3max tuple返回元组中元素最大值4mintuple返回元组中元素最小值5tupleseq将列表转换为元组Python字典字典dictionairy是除列表以外python之中最灵活的内置数据构造类型列表是有序的对象集合,字典是无序的对象集合两者之间的区别在于字典当中的元素是通过键来存取的,而不是通过偏移存取字典用〃{/标识字典由索引key和它对应的值value构成diet={}diet]one]=This isone”。
个人认证
优秀文档
获得点赞 0