前言: 为了给春招做准备,这里总结Python的知识点;
第一部分:基础部分:数据类型和文件IO;
第二部分:切片,迭代,生成器,迭代器;
第三部分:函数(参数,返回值)和(过滤器,匿名函数,内嵌函数,装饰器 )
第四部分: 面向对象的知识;
第五部分:多线程,线程;
第六部分:Django框架的使用;
数据类型和文件IO
数据类型: Python 有6中内置的数据类型, 有数字(),字符串,列表(类似于数组),元组(类似不可变数组),字典(类似c++map),集合(不重复没有value的map);
Python里面定义变量的数据类型时候,不需要float int 什么的,而是直接定义;
我们需要对每个数据类型的增删查改 非常熟悉;
我们有一些比较重要的函数,我们可以先学习:
len() type() count() startwith/endwith ,
split('x'),
format,
reaplace('','',1) ,
find("",3,7)
index("",4,6) 返回下标
max(),abs()#求绝对值 , pow()#求乘方
str(), hex()#16进制 ,list#转化为列表
pop()删除并弹出
sort() 原地排序
reverse()原地反存
del
" " [ ] () { : , : } { }
1数字
有整型,浮点型,布尔型,复数
1/2
1//2
10%3
2**3
bool:
&& and
|| or
not not
True and false
True or false
not True
2字符串 " " ’ ’
定义:
str1 = 'love'
str2 = “you”
str3 =" I\'m student "
增,删,改:str1[0]=‘g’ #错误
字符串不允许修改;
字符串不允许修改
字符串不允许被修改
查:
索引: [ ] 切片: [ : ]
print(str1[0])
print(str[1:3]) #左开右闭
print(str1[-1])
连接:
print(str1+ str2)
重复:
print(str1*3 )
格式化:
print(’%s $d %x %f '% (30.1))
逆置输出:
print(str[::-1])
3 列表: [ ]
定义:
list1 = {"I", ' loveyou', 13} 列表(数字,字符串,列表;)
增:
list1=list1 +[14]
list1.append(14)
list1.insert(3, 99)
list1.extend("forever")
删:
list1.pop()
list1.remove("any",'any')
list1.clear()
del list1.[0]
del list1.[1:]
del list[ : :2]
改:
索引:
list1[0]= ‘I’
切片:(迭代这增加)
list1[1:3] = ‘abcd’
切片:
l[::2]=‘对应’
查:
切片 或者 循环
嵌套:
list1 = {"I", ' loveyou', 13} 列表(数字,字符串,列表;)
list2={list1, 14}
可以通过,list2[0][0] 访问I
print([ list [ ::2 ]]) #个每隔两个输出
4元组: ( )
list不安全;因此不可以变得列表,元组 tuple就出现了;
定义: tuple1=(‘l’,‘o’,‘v’,‘e’)
增删改都不可以;
查:
切片
tuple[::-1]
tuple[::2]
tuple[1:3]
5字典: {’ ’ : ’ ’ , ’ ’ : ’ ’ }
列表的缺点:
1查询速度慢
2按照顺序存储,关联性不强;
定义:
dic = {‘l’:0,'o':1,'v':2,'e':3 }
增:
dic[‘99’]=4
删:
dic.pop(‘99’)
del dic(‘99’)
查:
dic[ key ]
dic.get()
dic
改:
6集合 (唯一) { }
定义: s = { 1,2,3,3,3 } print(s) ={1,2,3 }
增:
s.add( 5 )
s.update('A')
删:
set1.remove()
set1.pop()
查:
print( dict1.value )
改:
dict
frozenset
不可变集合
补充:
1分别赋值,拆包
a,b = 1,2 print( a,b )
a , b=[1,2 ] print (a,b)
a,b = ( , ) print(a, b)
a,b ={' 1 ' : ' a','2' :'b'} print(a,b )
for k,v in dic.tems():
print(' key',k)
print('value', v)
2range 指定范围,生成指定数字:
for i in range(1,10)
for i in range(1,10,2)
for i in range (10,1,-2)