python部分知识点总结

在自学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)         

猜你喜欢

转载自blog.csdn.net/weixin_61936651/article/details/123832550
今日推荐