在自学python的过程中专门做了些小笔记,现在想和大家一起分享一下。
如果觉得有用,可以收藏方便以后查找哈~
祝大家学习进步!
[]列表 ()元组 {}集合 import用于导入 input()输入函数 print()输出函数 /为浮点数除法;//为整数除法; id()#显示对象的地址 id(1)->2561417111856 bool('123')#转判断(可运算) float(3)#转小数 complex(1,2)#转复数 str(123)#转字符串 ord()#返回Unicode字符对应的整数(ascall码) ord('中')->20013 ord('a')->97 chr()#返回整数所对应的Unicode字符 chr(97)->'a' list('abcd')->['a','b','c','d']#传入字符串创建列表 int(" 123")#去空格 int("000123")#去0转整数 int() int("35",8) int("35",16)#转八进制或者转十进制 bin()#转二进制 0b为默认 bin(3)->'0b11' oct()#转八进制 0o为默认 oct(10)->'0o12' hex()#转十六进制 0x为默认 hex(15)->'0xf' del()#删除列表中某个元素 sum(x+y)求和函数 max()取所有值的最大值 min()去所有值的最小值 or()判断序列中所有函数是否为真 list.append(x)#在列表最后面加一个x list.extend([1,2,3])#在列表后面加上列表 list.insert(1,9)#在list[1]前面加上9 list.append([1 2,3])#将【1,2,3】放入一个单位中 append#加入到一个单位 extend#加到列表其后 list.remove(x)#删除列表中值为x的数 list.pop(x)#返回第x位的数并删除 list.reverse()#颠倒列表顺序 list[::-1]#也可颠倒顺序 适用于字符 list.index(x)#查找x在列表中的位置## 列表用index 字符串用str.find list()#将句子分割成列表 list.split()#将句子分割成单词列表 list.join(a)#将列表a连成一个字符串 list.sort()#排序 import random->random.shuffle()#打乱顺序 list.choice()#选择其中一个 random.random()#随机浮点数 random.randint(1,100)#产生从【1,100)之间的随机数 random.seed(0)->random.randint (1,100)#取中间值(四舍五入为整数) a='I will strengthen'->a.split()->['I','will','strengthen'] b='13:47'->b.split(':')->['12','47'] a=int(input())#输入整数 m,n=input("输入:").split()#输入多个值 m,n=input().split()->23 45->m='23';n='45' 科学计数法:123x10^9=1.23e9-->e=10^1 浮点数运算存在误差:0,1+0,2=0.30000000000000004 complex()#转复数-->real+imag*j complex(1)->1+0j;complex('1')->1+0j;complex(1+2j)->1+2j e-->自然常数 pi-->圆周率 log(x[,base])-->返回以base为底的对数,缺省为e math.log(2,4)-->0.5 表示以4为底的对数 pow(x,y)-->返回x的y次方 pow(2,2)-->4.0 sqrt(x)->返回x的平方根 sqrt(4)-->2.0 fabs(x)->返回x的绝对值 math.fabs(-3)-->3.0表示返回绝对值 round(x[,n])->返回浮点数x的四舍五入值,n代表舍入到小数后的位数 round(3.1415926,2)-->3.14 divmod(x,y)->返回x和y的商和余数 divmod(4,5)-->(0,4) 运算关系: 3<5>2表示3<5 and 5>2 ->True and运算只要有一个是False结果就是False or运算只要有一个是True结果就是True not运算就是非运算(取反) 运算级(+,-号)->(**幂)->(*,/,%)->(+,-)->(<,<=,==,!=,>=,>)->(not)->(and)->(or) 幂运算从右向左计算,其余从左向右计算 交换值:a,b=4,8 ; a,b=b,a ->a=8,b=4; 字符串: 'abc';"abc";"'abc"' 加法:'hello'+'word'-->'helloword' 复制;'abc'*3-->'abcabcabc' 索引:在【】中给出序号 切片:在【】中位处切片序号范围 s='abcdef'->s[3]='d'->s[-4]=c s[1:5]='bcde'为1到4的字符(包括汉语) 字符串中比大小时比的不是长度是ASCALL码值 “ABC"<"DEF"->True 字符串不能和数字比较 赋值语句: a=1;b=2<-->a,b=1,2 a,b="34"-->a='3',b='4' 序列赋值: i,*j=[1,2,3,4,5,6]-->i=1;j=[2,3,4,5,6] *i,j=[1,2,3,4,5,6]-->i=[1,2,3,4,5];j=6 多变量赋值: a=b=c=5-->a=5;b=5;c=5 b=b+6-->print(a,b,c)->5 11 5 赋值符号和算数运算符组合: a=2;a*=3-->a=6 a*=a+3-->a=54 判断: 1<3<5-->1<3 and 3<5 ->True;1>6<math.aqrt(9)->False;'Hello'>'word'->False(ASCLL码比较); 'hello'>3(字符串不能和数字比较) and(且) or(或) not(非) 判断语句: if 语句: if 逻辑表达式: 语句块1 else: 语句块2 if i%2==0: print("偶数") else: print("奇数") elif(相当与else if) 循环语句: for 语句: for variable in 列表: 语句块 for i in [1,2,3,4,5]: print(i) break(结束循环) range函数:range(start开始,stop结束,step间隔) list(range(6))-->[0,1,2,3,4,5] list(range(1,5,2))-->[1,3] list(range(12,1,-2))-->[12,10,8,6,4,2] 列表: [1,2,3,4]+['c','sadf']-->[1,2,3,4,'c','sadf'] [1]*5-->[1,1,1,1,1] [1,2,3]<[2,3,4]-->True 列表运算: weekday=['a','b','c','d','e'];weekday[3]='d' 列表推导式: [expression表达式 for item变量 in iterable] n=[i*2 for i in [1,2,3]]-->[2,4,6] 带条件的列表: [expression表达式 for item变量 in iterable if condition] n=[i for i in range(1,4) if i%2==0]-->n=[2] format()函数: str.format() print("{0:.2f}{1:.2f}".format(x,y)) 0和1表示format函数中的第一和第二个参数 .2f表示小数部分保留两位,四舍五入 age=20->'my name is{},age is {}.format('Marry',age)->my name is Maryy,age is 20 'my name is{1},age is {0}.format('Marry',age)->my name is 20,age is Marry sum()求和函数:(求列表,元组,集合的和) sum(iterable[,start])-->iterable--可迭代对象(列表,元组,集合) start--指定相加的参数,如果没有设置这个值,默认为0 sum([1,2,3],5)-->11 s=[1,2,3,4]->'2' in s->True #判断2是否在s序列中 'this is a book'[3]->'s';[1,2,3,4,5][4]->5; s=[1,2,3,4]->s[2]=10->s=[1,2,10,4] n='123456789'-->n[2:5]='345';n[3:]='456789';n[:6]='123456';n[:5]='12345' n[x:-y]#x为一个正整数,-y为一个负数,y为几就去掉后面几个数,当从0开始时x=0或直接省略 n[4:-3]='56' len(n)=9;len(s)=4#计算字符串的长度 n[-1]=n[len(n)-1]=9#计算字符串的最后一个字符 min(n)=1;max(n)=9#计算字符串中的最小值和最大值 "It's a book"#当字符串中有'(")时外面则加相反的符号 s=r'this is a\n book/'->s='this is a\\n book/'->print(s)=this is a\n book #r不显转义字符 \n换行,\t分隔 str自己的函数:str.函数 s='This My Book'->s.lower()->'this my book'#str.lower大写转小写 s.upper()->'THIS MY BOOK'#str,upper小写转大写 s.title()->#首字母大写 s.find('Th') ->0#查找字符的位置 s.find('qq')->-1#当查找的字符串不存在时返回-1 'This My Book'.find('h')->1 'happy happy every day'.find('p',3)->3#find(str,x)x表示从第几个开始寻找 'happy happy every day'.count('p')->4#count表示某个字符(串)在字符串中出现的次数 str.strip()#表示去掉字符串中的空格 s.rstrip->#去掉左边空格;s.lstrip->去掉右边空格;s.strip ->#去掉两边空格 replace('x','y')#表示用y代替x 'life'.replace('e','t')->'lift' str()#转字符串 str(123)->'123' 'I will strengthen in %d year.'% 2021-->'I will strengthen in 2021 year. #str % x-->可通过该方法给str中的%d整数值(%d整数,%f浮点数四舍五入,%s...)多个值用()括起来 'I will %d years old after %d days.'% (20,24)->'I will 20 years old after 24 days.' '%5d'%67->' 67';'%5.3f'%67->' 67.000' a=[1,2,3,4]->a[::-1]->[4,3,2,1]#倒着输出 b=a;b[0]=0;print(a)->[0,1,2,3,4] b=a[:]#则分开使用 a=1,b=3->n=[a,b]->n=[1,3];m=[a+2,b]->m=[3,3] while 语句: while True: #..... #..... #break 异常处理: try: 语句块1(需要执行的语句或者需要测试的语句) except 异常类型1: 语句块2(如果尝试语句出现错误则执行该语句) except 异常类型2; 语句块3 . . . else: 语句块n(没有发生异常时执行) finally: 语句块n+1(无论是否正确都会执行) 集合:s={1,2,3,5} 删除重复数字;自动排序(集合内容可无序); n=[1,2,3]->s=set(n)#将列表转换成集合 s={1,2,3,3,4}->s={1,2,3,4}#删除重复数字 s={5,3,4,2,1}->s={1,2,3,4,5}#自动排序 add(x)#添加元素 remove(x)#删除元素 min(),max(),len(),sum()#也适用于集合中的运算 n={1,2,3,4,5,6,7}->for x in n: print(x,end=" ")->1 2 3 4 5 6 7#通过for 循环输出所有值 s1={1,2,3,4}->s2{2,5,6,8}->s1|s2->{1,2,3,4,5,6,8}#| 表示并集 ^ 表示除相同数之外的所有数 & 交集 字典: zd={'li':1,'xin':2,'haha':3,'xixi':4} zd['like']=5->{'li': 1, 'xin': 2, 'haha': 3, 'xixi': 4, 'like': 5}#添加 del zd['like']#删除 for x in zd: print(zd[x],end=" ")->1 2 3 4#查看zd中的值 print(x) zd.get('x',0)#如果字符x在zd中则输出其值,如果不在则赋值为0 dict()#转换成字典 函数:(先定义在调用) def 函数名(参数1,参数2...): 函数体 位置参数: 按照顺序依次赋值给形参(一一对应) def die(x1,y1,x2,y2)->print(dis(1,3,4,5)) 关键字参数: 可在调用函数时指定对应形参名 def dis(x1,y1,x2,y2)->print(x1=1,y1=3,x2=4,y2=5) 位置参数在前关键字参数在后 print(dis(1,3,y2=5,x2=4)) 默认参数值在函数对象被创建时计算 数量可变参数:*将位置参数变为元组形式(a,*b)->(1,2,3,4)->a=1,b=(2,3,4) 收集参数到字典中:(a,**b)->print(dis(x1=1,y1=3,x2=4,y2=5))->{'x1':1,'x2':3,'y1':4,'y2':5) print(*object,sep=" ",end="\n",file=sys.stdout) object:输出参数,可变数量;sep=" ":输出分隔符;end="\n":输出函数结束换行;file=sys.stdout:输出到屏幕缺省 实参拆包:n=[1,2,3]->print(*n)->1 2 3 *将序列拆成一个个单独的实参 函数返回值: return x 无return 或者无return 后面的表达式则其返回均为None 局部变量和全局变量: global x=1 可在函数内部将局部变量改为全局变量 内置函数: sorted:对字符串,列表,元组,字典等排序 sort:在list基础上操作 sorted(iterable[,key[,reverse]]) iterable 序列(字符串,列表,元组) key 函数,缺省为空 reverse 排序规则 reverse=True 降序,reverse=False 升序 map函数: map(function函数,iterable序列多个,...) function 对序列中的每一个数调用函数 iterable 序列 zip函数: zip([iterable多个序列,...]) 将对象中的对应函数打包成一个个元组 eval:计算表达式,返回其值 eval('x+y')-->10 exec:运行程序,返回结果 exec('print("hello word")') ->hello word all():参数全为True时才返回True 否则返回False any():全为False时才返回False,否则为True n=47 all([1 if n%k!=0 else 0 for k in range(2,n)])->True any([[],False,0])->False 程序结构: import 模块名#模块名为另一个python文件名 引入模块中函数: from 模块名 import * #引入模块中的所有函数 调用时无需再加模块名 from 模块名 import 函数名 引用模块中的单个函数 import 包名.模块名 #用于调用模块 包名.模块名.函数 #用于调用包内的函数 模块空间中有: 主程序;模块名(包含主程序的'_main_';dir(模块名):显示模块内容 sys模块: 当不在同一目录下,sys加搜索路径后调用 sys.argv(从程序外部向程序传递参数) sys.path(模块搜索路径的字符串列表) sys.stdin(标准输入) sys.stdout(标准输出) sys.stderr(标准错误输出) sys.getdefaultencoding ()获取系统当前编码 命令行参数:不用input()输入值时 aya.argv[0]程序文件名 argv[n] 第n个参数 文件: fileobj=open(filename,mode) #fileobj文件返回对象;filename文件名; mode第一个字母表示操作,第二个字母文件类型(t,b)