




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python基础知识与常用数据类型一、Python概述:1.1、Python的特点:1、Python是一门面向对象的语言,在Python中一切皆对象2、Python是一门解释性语言3、Python是一门交互式语言,即其在终端中进行命令编程4、Python是一门跨平台的语言【没有操作系统的限制,在任何操作系统上都可以运行Python代码】5、Python拥有强大和丰富的库,又被称为胶水语言,能把其他语言(主要C/C++)写的模块很轻松的结合在一起1.2、Python的优缺点:1、优点:a、易于维护和学习b、广泛的标准库【提供了大量的工具】c、可扩展性d、Python对于大多数据库都有相应的接口【Mysql、sqlites3,MongoDB.Redis等】e、支持GUI编程【图形化界面】f、语法简单,易于学习print(v%dx%d%d/zprint(v%dx%dtemp+=1print(〃〃)line+=1break:直接跳出当前循环continue:结束当前正在执行的循环,继续下一次循环三.Python内置数据结构:Python中最基本的数据结构是序列(sequence),Python包含6中内建的序列,包括列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。31.String3.1.1,字符串的创立将文本放在单引号,双引号和三引号之间>>>strl='hello,fanison'>>>type(strl)str3.1.2.字符串的转义:字符串的转义使用r.字符串的切片操作索引运算符s[i]返回一个序列的元素i切片运算符S[i:j]返回一个在字符串中从第i个元素开始到j-l之间的元素扩展切片运算符s[i:j:step]在字符串中以step的步长从第i个到j-l个元素之间的元素,step为正数表示正着取,i<i或者说倒着取len(s)s中的元素个数min(s)s的最小值max⑸s的最大值4字符串的相关方法:s.index(sub[,start[,end]])找到指定字符串sub首次出现的位置s.find(str,beg=Ozencl=len(string))找到字符串sub首次出现位置,与index不同是不报错而返回-1s.upperQ将一个字符串转换为大写形式s.lower()将一个字符串转化为小写形式s.join⑴使用s作为分隔符连接序列t中的字符串s.stripO将s两边不显示的符号去掉之后返回(Istrip、rstrip)s.split(t)获取以字符t将s切割的列表s.encode()获取s的指定编码的bytes值bytes.decode()获取bytes的对应编码的字符串,在python2中使用decode函数s.endswith(suffix,beg=O,end=len(string))检查中是否以suffix字符串结尾3.2list变量:相当于是一个容器,每次只能存储一个数据作用:相当于是一个容器,可以同时存储多个数据本质:一种有序的集合【有序:数据的存放顺序和底层存储的顺序是相同】列表中的元素本质存储的是一个变量【引用】,列表是可变的【一个列表一旦被定义,那么在代码运行的过程中,其中的元素的值可以随时发生改变】num二10listl=[43,5,45,46,5]print(id(listl[O]))listl[0]=1001.创立【定义一个列表类型的变量】命名方式:Ixxlistxxx,不建议直接使用list其中允许存放重复元素listl=[45,23,2,54,54,6]print(listl)其中允许存放不同类型的数据list2=[//heHo,;4637,False]print(list2)列表元素的访问索引/下标/角标:取值范围:OlenGx)-1或者-(len(xxx))print(listl[3])print(listl[-1])ttprint(listl[20])ttlndexError:listindexoutofrange列表下标越界列表元素的替换/修改listl[3]=473print(listl)组合:生成了一个新的列表print(listl+list2)print(listl)列表元素的重复print(listl*3)print(listl)判断某个元素是否在列表中print(10inlistl)#Falseprint(10notinlistl)#Trueprint(45inlistl)#Trueprint(45notinlistl)#False列表切片【截取】:根据指定的列表获取子列表list3=[45,23,2,473,54,6,5,6,56,5]print(list3[2])print(list3)格式:列表名[start:end:step],包头不包尾获取从指定下标开始到结尾的元素组成的一个子列表print(list3[2:])获取从开头到指定下标的元素。。。。print(list3[:6])截取指定区间print(list3[2:6])特殊情况1:如果end超出了下标的范围,那么默认获取从指定下标开始到结尾的元素print(list3[4:100])等价于print(list3[4:])特殊情况2:step在默认情况下为1print(list3[l:6:2])#1,3,5print(list3[-1:-6])#当start和end都为负数,step为正数的时候,获取的结果为口#当#当start,end和step都为负数的#当start,end和step都为负数的#当start,end和step都为负数的print(list3[-l::-1])print(list3[::-1])并列表系统功能1.添加元素1.lappend,追加,在列表的末尾添加元素常用11=[22,33,44,55]print(11)追加单个元素11.append(66)print(11)#追加多个元素,不能直接追加,通过列表的形式追加,形成了一个二维列表#11.append(77,88)#报错:TypeError:append()takesexactlyoneargument(2given).append([77,88])print(11)#结果:[22,33,44,55,66,[77,88]]#1.2extend,扩展,在列表的末尾添加元素=[22,33,44,55]追加单个元素,不能直接添加,参数一定是可迭代的12.extend(66)#T报错:ypeError:'int'objectisnotiterable12.extend([66])print(12)12.extend([77,88])print(12)#结果:[22,33,44,55,66,77,88]总结:列表名.功能名(xx)append可以直接添加单个元素,而extend不能append在添加多个元素的时候,是以列表的形式添加,而extend只添加元素【打碎加入】1.3insert,插入,在指定索引处插入一个元素,后面的元素向后顺延列表名.insert(索引,被插入的元素)13=[22,33,44,55]插入单个元素13.insert(2,66)print(13)#插入多个元素:和append类似,将整个列表直接插入13.insert(1,[77,88])print(13)2.删除2.Ipop,弹出,移除并获取列表中指定索引处的元素在栈中【列表的底层工作原理是栈】listl=[11,22,33,44,55]注意:pop在默认情况下删除的是最后一个元素resultl=listl.pop()print(listl)print(resultl)result2=listl.pop(2)print(listl)2.2remove,移除,直接操作的是元素list2=[11,22,33,44,55,33,33,55]list2.remove(22)print(list2)注意:移除指定元素在列表中第一次匹配到的元素【从左往右】list2.remove(33)print(list2)2.3clear清除,将指定列表变为空列表使用场景:循环中,每次需要清空【重置】列表list2.clear()print(list2)3.获取listl=[54,6,57,5,57,7,6,7,57]3.lien(),获取列表长度1二len(listl)3.2111ax(),获取列表中的最大值print(max(listl))3.3min(),获取列表中的最小值print(min(listl))练习:模拟max或者min的功能,求三个数中的最大值假设法numl=43num2=437num3二2定义一个变量,用于记录最大值maxi=numlifnum2max1=ifnum3maxi=>numl:num2>maxi:num33.4index(),获取指定元素在原列表中第一次匹配到的索引print(listl.index(57))模拟index的功能foriinrange(len(listl)):iflistl[i]==57:print(i)3.5count(),统计个数,统计指定元素在列表中出现的次数c=listl.count(57)print(c)listl=[54,6,57,5,57,7,6,7,57,57,57,436]练习:将listl中57给全部删除listl.remove(57)fflistl.remove(57)listl.remove(57)print(listl)统计57在列表中出现的次数num=57c=listl.count(num)n=1whilen〈二c:listl.remove(num)n+=1print(listl)importcopy4.其他用法4.1.reverse,反转listl=[35,4,5,4,654]ttprint(listl[::-l])ttlistl.reverse()#print(listl)4.2.Isort,排序,默认为升序,在列表内部进行排序列表名.sort()升序listl.sort()#print(listl)降序listl.sort(reverse=True)ttprint(listl)4.2.2sorted,排序,默认为升序,生成了一个新的列表^sorted(列表名)升序newList=sorted(listl)print(listl)print(newList)降序newList2=sorted(listl,reverse=True)print(newList2)根据元素的长度进行排序list2=[〃gjsrghj〃,〃545〃,〃fhghg〃,〃ahjegrhkwjhgrke〃]#key关键字参数可以指定自定义的排序规那么,格式:key=函数名newList3=sorted(list2,key=len,reverse二True)print(newList3)4.3copy,拷贝直接赋值,浅拷贝,栈空间层面上的拷贝【引用】listl=[23,54,56]list2=listllist2[l]=100print(listl)print(list2)print(id(listl)==id(list2))copy,深拷贝,堆空间层面上的拷贝【实体】listl=[23,54,56]list2=listl.copy()list2[l]=100print(listl)print(list2)print(id(listl)二二id(list2))
模块copy,copy(),deeepcopy()【面试题】内容角度上的拷贝,copy只拷贝最外层,deepcopy可以拷贝内层的内容【二维列表中】a=[1,2,3]b=[4,5,6]c=[a,b]print(c)d=copy,copy(c)print(id(d)==id(c))#Falsee=copy.deepcopy(c)print(id(e)==id(c))WFalsea.append(4)print(c)print(d)print(e)a.append(4)print(c)print(d)print(e)a.append(4)print(c)print(d)print(e)2,2,3,3],4],
[4,a.append(4)print(c)print(d)print(e)2,2,3,3],4],
[4,[4,5,6]]5,6]]d:[[l,2,3],[4,5,6]]list2:[4,5,6]list2:[4,5,6]list2:[4,5,6][listl,list2]——[1,2,3]4.4转换list2:[4,5,6]#list(),tuple()二维列表:遍历11二[[11,22,33,44],[44,55,66]]print(ll[0])#11[0]=[11,22,33,44]print(11[0][2])foriin11:forjini:print(j)fornlinrange(len(11)):forn2inrange(len(11[nl])):print(11[nl][n2])3.3tuple2、缺点:a、和C语言相比拟Python的代码运行速度慢b、代码无法加密1.3、Python代码的执行过程:大致流程:源码编译为字节码(.pyc)-——>Python虚拟机>执行编译好的字节码Python虚拟机将字节码翻译成相对应的机器指令(机器码)。Python程序运行时,先编译字节码并保存到内存中,当程序运行结束后,Python解释器将内存中的字节码对象写到.pyc文件中。第二次再运行时,先从硬盘中寻找.pyc文件,如果找到,那么直接载入,否那么重复上面过程。优点:不重复编译,提高执行效率二、Python中的基础语法:Python中变量在内存中的存储引用和对象:对象:当创立数据对象时,在内存中会保存对象的值,这个值就是对象自己;引用:对象保存在内存空间,外部想要使用对象的值,就需要使用引用来操作对象。内存中会保存对象引用的数量,当某个对象的引用为0时,对象会被回收。可变数据类型和不可变数据类型a、数据分类:和列表类似,本质是一种有序的集合元组和列表的不同之处:a.定义不同:列表口元组()b.是否能够修改:列表可以进行增加或者删除元素的操作,但是,元组一旦被定义之后,其中的元素将不能进行任何的更改其中允许存储重复元素tl=(23,53,54,53)print(tl)其中允许存储不同类型的数据t2=rhello,z,47,19.0,False)print(t2)特殊情况:当一个元组中只有一个元素的之后,会被识别为一个普通变量t3=(10)print(type(t3))print(t3)为了消除歧义,当元组中只有一个元素的时候,元组名=(元素,)t4=(10,)print(type(t4))print(t4)元组元素的访问元组名[索引]print(t2[1])t2[l]=100#报错:TypeError:'tuple'objectdoesnotsupportitemassignment【赋值】特殊情况:如果在元组中的元素是列表,那么列表中的元素依旧可以修改【依据:元组和列表中存储都是变量的地址,元素不允许修改,只需要保证未发生改变即可其中的地址】t5二(23,5,3,5,[235,345,5,45,4])print(t5)print(t5[4])#[235,345,5,45,4]t5[4][1]=100print(t5)列表和元组的遍历直接获取元素forelementint5:print(element)获取索引foriinrange(len(t5)):print(i,t5[i])同时遍历索引和元素需要将元组或者列表转换为枚举类型list(t5)#注意:下面的i并不是元组或者列表的索引,而是枚举中的编号fori,elementinenumerate(t5):print(i,element)3.4dict常用也是一种存储数据的方式,但是字典是无序的,类似于list或者tuple,但是,字典采用键-值对的方式存储数据agel=10listl=[10,4,35,46,6]dictl={〃zhangsan〃:10}作用:具有极快的查找速度键【key】相当于list或者tuple中的索引key的特点a.字典的key是唯一的【key不允许重复】b.key必须为不可变的数据list是可变的,不能用来当做keytuple,数字型,字符串,布尔值都是不可变的,可以被充当keydictl={〃zhangsan〃:10,〃lisi〃:13,“zhaoliu”:50}1.访问键值对print(dictl[〃lisi〃])并访问一个不存在的key,那么报错ttprint(dictl[〃abc〃])#KeyError:'abc,字典是可变的dictl[/zzhaoliuz,]=100resultO=dictl[〃zhaoliu〃]print(resultO)字典名[key]=value注意:如果key存在,那么表示修改value的值;如果key不存在,那么表示在字典中添加一对新的键值对dictl[〃abc〃]=20print(dictl)#get()resultl=dictl.get(〃zhaoliu〃)print(resultl)如果key不存在,那么不会报错,返回None,一般用于判断result2=dictl.get(〃def〃)print(result2)2,删除,pop注意:删除指定的key,对应的value也会随着删除dictl.pop(〃lisi〃)print(dictl)3.字典的遍历3.1直接遍历key掌握forkeyindictl:print(key,dictl[key])print(dictl.keys())print(type(dictl.keys()))#<class'dict_keys'>forkeyindictl.keys():print(key,dictl[key])3.2直接遍历valueforvalueindictl.values():print(value)3.3,遍历的是键值对的编号和keyfori,elementinenumerate(dictl):print(i,element)3.4同时遍历key和value掌握forkey,valueindictl.items():print(key,value)〃〃〃【面试题:diet和list之间的区别】diet查找和插入的速度不会因为key-value的增多而变慢,而list在每次查找的时候都是从头到尾进行遍历,当数据量大的时候,list速度肯定会变慢diet需要占用大量的内存空间,内存浪费多,而list只相当于存储了字典中的key或者value,并且list数据是紧密排列的〃〃〃练习:〃〃//〃.逐一^显不列表=[〃Sun〃,〃Mon〃,〃Tue〃,〃Wed〃,〃Thu〃,〃Fri〃,〃Sat〃]中索引为奇数的元素.将属于列表n「〃C〃“7〃〃T〃〃Iir1〃〃T1〃〃厂•〃〃CJ〃-1LSun,Mon,Tue,Wed,Thu,rri,SatJ,但不属于列表12二[〃Sun〃,〃Mon〃,〃Thu〃,〃Fri〃,〃Sat〃]的所有元素定义为一个新列表13.列表namelist=[,stul'Jstu2',‘stu3',‘stu4',‘stu5',‘stu6','stu7'],删除列表removelist=['stu3','stu7','stu9'];请将属于removelist列表中的每个元素从namelist中移除(属于removelist,但不属于namelist的忽略即可);.有一个字符串是一句英文,统计每个单词出现的次数,生成一个字典,单词作为key,次数作为value生成一个字典dictl.列表listl=[0,1,2,3,4,5,6],list2=[〃Sun〃,〃Mon〃,〃Tue〃,〃W1〃〃T1〃〃L•〃〃Cj〃1ed,Ihu,rri,SatJ,以listl中的元素作为key,list2中的元素作为value生成一个字典dict2〃〃〃#1.U「〃小〃〃〃〃T〃//U71〃〃F1〃〃「♦〃〃c/〃1=LSun,Mon,Tue,Wed,Thu,Fri,SatJforiinrange(len(11)):ifi%2!=0:print(11[i])#2.#思路:遍历n,获取ii中的元素,判断在12中是否存在,如果不存在,那么添加到一个新的列表中U「〃小〃〃〃〃T〃Z/TT71〃〃F1〃〃「♦〃〃c/〃1=LSun,Mon,Tue,Wed,Thu,Fri,SatJIC「〃C〃〃一〃〃T1〃〃L♦〃〃C,〃1=LSun,Mon,Thu,Fri,Sat=[]forelelin11:ifelelnotin12:13.append(elel)3#思路:遍历removelist,获取其中的元素,判断该元素在namelist中是否存在,如果存在,那么删除namelist=[JstuTJstu2',‘stu3',‘stu4',‘stu5',‘stu6','stu7,■removelist=[,stu3','stu7,,'stu9,]forele2inremovelist:ifele2innamelist:namelist,remove(ele2)print(namelist)4strl="todayisagooddaytodayisabadday,todayisaniceday”dictl={}使用空格切割字符串listl=strl.split(,z〃)print(listl)遍历列表,获取其中的每个单词forwordinlistl:在字典中通过key获取valuec二dictl.get(word)ifc==None:#不存在,添加键值对dictl[word]=1else:#存在,那么将value的值递增1dictl[word]+=1print(dictl)#5.listl=[0,1,2,3,4,5,6]listz=LSun,Mon,lue,Wed,Thu,Fri,SatJdict2={}#定义一个变量,作为listl和list2的索引indexl=0iflen(listl)==len(list2):whileindexl<len(listl):#dict2[key]=value=======>dict2[listl中的元素]=list2中的元素ttlistl[indexl]list2[indexl]dict2[listl[indexl]]=list2[indexl]indexl十二1eliflen(listl)>len(list2):whileindexl<len(list2):dict2[listl[indexl]]=list2[indexl]indexl十二1else:whileindexl<len(listl):dict2[listl[indexl]]=list2[indexl]indexl十二1#优化上面的代码:封装【抽取】〃〃〃defcustom(num):dict2[listl[num]]二list2[num]num+=1returnnum#定义一个变量,作为listl和list2的索引indexl=0iflen(listl)二二len(list2):whileindexl<len(listl):#dict2[key]=value=======>dict2[listl中的元素]=list2中的元素ttlistl[indexl]list2[indexl]custom(indexl)r=indexl=rcustom(indexl)eliflen(listl)>len(list2):whileindexl<len(list2):r=custom(indexl)indexl=relse:whileindexl<len(listl):r=custom(indexl)indexl=r〃〃〃print(dict2)3.4set集合:不允许重复元素,而且进行交集以及并集的运算表示:{}和diet之间的关系:set中只是存储了key本质:无序且无重复元素的集合1.创立set()si={23,45,6,7,89}print(si)print(type(si))并掌握:去除列表中的重复元素s2=set([3,46,5,65,7,65,7])print(s2)s3=set((2,43,54,5,4,5))print(s3)s4=set({10:"a",20:"b"})print(s4)2.set是可变的2.1添加add(),添加,setl={11,22,33,44,55}单个元素setl.add(66)print(setl)如果元素存在,那么添加失败,不报错setl.add(55)多个元素sl.add([77,88])#TypeError:unhashabletype:'list,si.add((77,88))sl.add({l:〃a〃})结论:在set中,使用add添加,那么只能添加元组,不能添加list和dietprint(si)#update(),更新,update的参数只能是可迭代对象【打碎加入】set2={11,22,33,44,55}set2.update(66)#报错:TypeError:'int'objectisnotiterableset2.update([66])print(set2)set2.update((77,88))print(set2)set2.update({“12〃:12,“13〃:13})print(set2)set2.update(〃hgjhg〃)print(set2)3.删除set2.remove(77)print(set2)4.交集和并集si={3,54,4,5,7}s2={3,54,4,8,90)交集:&【按位与】print(si&s2)并集:I【按位或】print(si|s2)list、tuple、diet、set的区别和联系:a、定义方式:list:[]xtuple:()、diet:{}、set:(}b、是否有序:list:有序,tuple:有序,diet:无序,set:无序c、是否允许出现重复元素:list:允许,tuple:允许,diet:key键值不允许,但是value的值允许,set:不允许d、都属于可迭代对象e、set相当于存储了字典中的keyf、可以向互转化4、附录字符串转义字符表在需要在字符中使用特殊字符时,python用反斜杠()转义字符。如下表:转义字符描述(在行尾时)续行符\反斜杠符号\,单引号\"双引号\a响铃\b退格(Backspace)描述转义字符\e转义描述\000空\n换行\v纵向制表符\t横向制表符\r回车\f换页\oyy八进制数,yy代表的字符,例如:\ol2代表换行\xyy十六进制数,yy代表的字符,例如:\xOa代表换行\other其它的字符以普通格式输出python字符串格式化符号表符号描述%c格式化字符及其ASCII码%s格式化字符串%d格式化整数%u格式化无符号整型%o格式化无符号八进制数%x格式化无符号十六进制数可变数据对象:列表(list)和字典(diet)不可变数据对象:整型(int)、浮点型(float)、字符串(string)和元组类型(tuple)注:此处的可变和不可变,是指内存中的对象(Value)是否可以改变,对于不可变类型的对象,在对对象操作的时候,必须在内存中重新申请一块新的区域,即重新给一个新的地址用于存储;对于可变类型的对象,在对对象操作的时候,并不会重新申请新的地址,而是在该对象的地址后面继续申请即可,即address并不会改变,而是address的区域的大小会变长或变短。不可变数据类型:对象本身的值不可变,如果改变了变量的值,相当于新建了一个对象,而对于相同值的对象,在内存中只有一个对象。可变数据类型:允许变量的值进行改变,对于变量给值的过程中,只是改变了变量的值,而不会新建一个对象,所以可变数据类型的意思就是说对一个变量进行操作时,其值是可变的,值的变化并不会引起新建对象,即地址是不会变的,只是地址中的内容变化了或者地址得到了扩充。,不过对于相同的值的不同对象,在内存中那么会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在引用计数,是实实在在的对象。.3引用传递和值传递(函数传值)说明:可变对象为引用传递,不可变对象为值传递引用传递:传递列表或者字典时,如果改变引用的值,就修改了原始的对象defcheck(1):print(1)print(id(l))1.append([1,23,2,3,4])描述%x格式化无符号十六进制数(大写)%f格式化浮点数字,可指定小数点后的精度%e用科学计数法格式化浮点数%E作用同%e,用科学计数法格式化浮点数%g%f和%0的简写%G%f和%E的简写%p用十六进制数格式化变量的地址4.3格式化操作符辅助指令表符号功能*定义宽度或者小数点精度-用做左对齐+在正数前面显示加号(+)<sp>在正数前面显示空格在八进制数前面显示零(U),在十六进制前面显示‘Ox'或者'0X'(取决于用#的是乂还是X)0显示的数字前面填充。而不是默认的空格%'%%输出一个单一的‘%'(var)映射变量(字典参数)符号功能mnm是显示的最小总宽度,n是小数点后的位数(如果可用的话)4.4字符串内建方法表序号方法描述1capitalizeQ2center(width,fillchar)3count(str,beg=Ozend=len(stnng))bytes.decode(encoding=nutf-8',z**4errors="strict”)将字符串的第一个字符转换为大写返回一个指定的宽度width居中的字符串,fillchar为填充的字符,默认为空格。返回str在string里面出现的次数,如果beg或者end指定那么返回指定范围内str出现的次数Python3中没有decode方法,但我们可以使用bytes对象的decode()方法来解码给定的bytes对象,这个bytes对象可以由str.encodeQ来编码返回。**5encode(encoding=,UTF-8,/errors=,strict1)以encoding指定的编码序号方法描述格式编码字符串,如果出错默认报一个ValueError的异常,除非errors指定的是'ignore'或者'replace'检查字符串是否以。切结束,如果beg或者end指**6endswith(suffix,beg=Ozend=len(string))定那么检查指定的范围内是否以obj结束,如果是,返回True,否那么返回False.把字符串string中的tab7expandtabs(tabsize=8)符号转为空格,tab符号默认的空格数是80检测str是否包含在字符串中,如果指定范围beg和**8find(str,beg=0end=len(string))end,那么检查是否包含在指9index(strzbeg=Ozend=len(string))定范围内,如果包含返回开始的索引值,否那么返回-1跟9index(strzbeg=Ozend=len(string))个异常.序号方法描述10isalnumQ11isalphaQ12isdigitQ13islowerQ14isnumericQ15isspaceQ如果字符串至少有一个字符并且所有字符都是字母或数字那么返回True,否那么返回False如果字符串至少有一个字符并且所有字符都是字母那么返回True,否那么返回False如果字符串只包含数字那么返回True否那么返回False..如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,那么返回True,否那么返回False如果字符串中只包含数字字符,那么返回True,否那么返回False如果字符串中只包含空白,那么返回True,否那么返回False.序号方法描述17isupper()**18join(seq)*19len(string)20ljust(width[,fillchar])21lower()如果字符串是标题化的(见title。)那么返回True,否那么返回False如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,那么返回True,否那么返回False以指定字符串作为分隔符,将seq中所有的元素(的字符串表示)合并为一个新的字符串返回字符串长度返回一个原字符串左对齐,并使用fillchar填充至长度width的新字符串,fillchar默认为空格。转换字符串中所有大写字符为小写.22IstripQ截掉字符串左边的空格或指描述序号方法描述定字符。创立字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字*23maketrans()符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。返回字符串str中最大的字24max(str)母。返回字符串str中最小的字25min(str)母。把将字符串中的strl替换*26replace(old,new[,max])成str2,如果max指定,贝U替换不超过max次。类似于find。函数,不过是rfind(str,beg=O,end=len(string))从右边开始查找.类似于index(),不过是从右rindex(str,beg=O,end=len(string))边开始.返回一个原字符串右对齐,并29rjust(width,[,fillchar])使用fillchar(默认空格)填充
序号序号序号方法描述至长度width的新字符串序号方法描述删除字符串字符串末尾的空30rstripO格.num=string.count(str))以str为分隔符截取字符串,如*31split(str="",num=string.count(str))果num有指定值,那么仅截取num个子字符串按照行\n')分隔,返回一个包含各行作为元素的列表,如果参数*32splitlines([keepends])keepends为False,不包含换行符,如果为True,那么保存换行符。检查字符串是否是以。可开头,是那么返回True,否那么*33startswith(str,beg=O,end=len(string))返回False0如果beg和end指定值,那么在指定范围内检查。**34strip([chars])在字符串上执行lstrip()和rstripO
序号**34strip([chars])序号序号方法描述将字符串中大写转换为小序号方法描述swapcase()写,小写转换为大写返回"标题化"的字符串,就是说所有单词都是以大写开title()始,其余字母均为小写(见istitleO)根据str给出的表(包含256个字符)转换string的**37translate(table,deletechars="。字符,要过滤掉的字符放到deletechars参数中38upperQ39zfill(width)38upperQ39zfill(width)40isdecimalQ转换字符串中的小写字母为大写返回长度为Width的字符串,原字符串右对齐,前面填充0检查字符串是否只包含十进制字符,如果是返回true,否那么返回false。备注:*标记为相关内建函数,**标记为常用方法。4.5Python列表函数&方法
Python包含以下函数:序号函数描述[len(list)列表元素个数[max(list)返回列表元素最大值[min(list)返回列表元素最小值[list(seq)将元组转换为列表Python包含以下方法:描述方法list.append(obj)描述list.append(obj)list.count(obj)list.extend(seq)list.index(obj)list.insert(index,obj)list.pop([index=-l])list.remove(obj)list.append(obj)list.count(obj)list.extend(seq)list.append(obj)list.count(obj)list.extend(seq)list.index(obj)list.insert(index,obj)list.pop([index=-l])list.remove(obj)在列表末尾添加新的对象统计某个元素在列表中出现的次数在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)从列表中找出某个值第一个匹配项的索引位置将对象插入列表移除列表中的一个元素(默认最后一个元素),并且返回该元素的值移除列表中某个值的第一个匹配项8list.reverseQ8list.reverseQ反向列表中兀素8list.reverseQ反向列表中兀素描述方法a描述list.sort(cmp=None/key=None,对原列表进行排序reverse=False)list.clear()清空列表list.copyQ复制列表return11二:1,2,3,4]print(check(1))print(id(l)),,,[1,2,3,4]2902500909320[1,2,3,4,[1,23,2,3,4]]2902500909320,,,值传递:当传递不可变对象时,如果改变引用变量的值,只是创立了不同的对象,原始对象并没有改变。defcheck(s):print(s)print(id(s))s=iamtestprint(id(s))returnss="Thisisatest”print(check(s))print(s),,,ThisisatestiamtestThisisatest,,,深拷贝和浅拷贝浅拷贝:语法:copy.copyO,浅拷贝是创立了一个和原对象一样的类型,但是其内容是对原对象元素的引用。深拷贝:语法:copy.deepcopyO在内存中将所有的数据重新建立一份。变量的本质:在内存中开辟了一块空间,其中存储了指定类型的数据【实体(对象)存储在堆中,变量(引用)存储在栈空间中基本数据类型Python中常用的数据类型有:整型(int)、浮点型(float),字符串(string)、空值(None)、布尔值(True和False)、复数、类、函数等Python中常量的命名规那么使用变量名为全大写为常量变量的命名遵循标识符的命名规那么关键字、标识符和内置函数1、关键字:在Python中被赋予了特殊含义的英文单词Python中的关键字的查看使用keyword模块importkeywordaskeykey.kwlist,,,['False',‘None',‘True','and','as','assert','break','class'
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省苏州市同里中学2024-2025学年初三年级第一次模拟考试(二)数学试题含解析
- 江苏省四校联考2025届高三第二学期月考(三)英语试题含解析
- 家具定制交易合同
- 版个人房屋建设承包协议案例
- 铝门采购合同
- 2《让家更美好》表格式公开课一等奖创新教学设计 统编版七年级上册道德与法治
- 建筑项目劳动力计划和主要设备供应计划
- 人教部编版二年级上册课文4口语交际:商量教案设计
- 经管营销多维-广东溢达-问题分析与解决培训核心片段记录-1021-22
- 八年级数学下册 第20章 数据的初步分析20.2 数据的集中趋势与离散程度 1数据的集中趋势第2课时 中位数与众数教学设计 (新版)沪科版
- DL∕T 843-2010 大型汽轮发电机励磁系统技术条件
- 《水泥窑炉富氧(全氧)燃烧技术规范》
- 第37章 主要病原性真菌课件
- 2024年福建省高中生物学业水平考试生物试卷试题(含答案详解)
- 工程施工材料采购方案工程材料采购方案
- DZ∕T 0214-2020 矿产地质勘查规范 铜、铅、锌、银、镍、钼(正式版)
- 苏教版高中化学实验一览表
- MOOC 隧道工程-中南大学 中国大学慕课答案
- 学校校服采购应急预案范文
- 第一单元 《分数乘法》整单元(教案)西师大版六年级上册数学
- 【川教版】《生命 生态 安全》一年级上册第12课 做一个受欢迎的人 课件
评论
0/150
提交评论