以上是博主自己整理的知识点,下面用文字加代码的形式介绍一下:
【字符串】:
1.特殊字符注意: \n换行 \t制表 r+\n不换行.
filepath1 = 'D\note.text'
print(filepath1)
filepath2 = 'D/note.text'
print(filepath2)
filepath3 = 'D\tote.text'
print(filepath3)
打印结果:
ote.text
D/note.text
D ote.text
所以碰到\n,和\t,要改写成/n,/t。
2.字符串的拼接,只允许字符串和字符串的拼接
str1 = '1'
str2 = 9
# print(str1+str2) #不允许整数和字符串拼接
# print(str1*6,str2*6) #多次打印和整数乘积
结果一:TypeError: can only concatenate str (not "int") to str
结果二:111111 54
3.字符串的下标:从0开始
str3 = '923afdstb'
# print(str3[0],str3[-2],str3)
# str3[-1]='t' #不支持更换字符串的元素
# print(str3)
结果一:9 t 923afdstb
结果二:TypeError: 'str' object does not support item assignment
结果三 :923afdstb
4. 字符串的切片:[::]起始位置,终止位置,步长(正数从左向右,负数从又像左,包含起始位置不包含终止位置
str4='afw3@802'
print(str4[0:3:2],str4)
print(str4[::-1])
print(str4[2:-5])
print(str4[3:-2:1])
结果一:aw afw3@802
结果二:208@3wfa
结果三:w
结果四:3@8
【列表】
1.列表新增
list1=['ac',100,(100,300),{"value":"key"}]
#新增末尾
list1.append("123")
print(list1)
# 新增在任意地方 insert()
list1.insert(4,555)
print(list1)
结果一:['ac', 100, (100, 300), {'value': 'key'}, '123']
结果二:['ac', 100, (100, 300), {'value': 'key'}, 555, '123']
2.两个列表的重组
list2=['111',222]
list1.extend(list2)
print(list1,list2)
结果一:['ac', 100, (100, 300), {'value': 'key'}, 555, '123', '111', 222] ['111', 222]
3.列表的删除
list1=['111',222,'str',(33,)]
del list1[0]
print(list1)
结果:[222, 'str', (33,)]
4.删除指定的数据
list1=['111',222,'str',(33,)]
print(list1)
list1.remove(222)
print(list1)
结果:['111', 222, 'str', (33,)]
['111', 'str', (33,)]
5删除索引
list1=['111',222,'str',(33,)]
list1.pop(2)
print(list1)
结果:['111', 222, (33,)]
【元祖】
1.不可新增,删除,所以是不可变参数
tup1=("abc",123,(5,6))
tup2=('bc',)
print(tup1,tup2,type(tup2))
结果为:('abc', 123, (5, 6)) ('bc',) <class 'tuple'>
2切片,索引,源元祖
tup1=("abc",123,(5,6))
tup2=('bc',)
print(tup1[0:1],tup1[2],tup1)
结果为:('abc',) (5, 6) ('abc', 123, (5, 6))
【布尔表达式】
1比较运算的(等号)结果为True或者False
print(2==2) #True
print(1==2) #False
结果:第一个True 第二个False
2.其他比较运算以及in的用法
print(1!=2 and 1==2) #False
print(1!=2 or 1==2) #True
print(1 in [20,4,6,1])#True
print(1 not in [20,4,6,1])#False
结果:第一个False,第二个True,第三个True,第四个False
【字典】
1.{键:值,键:值} 键具有唯一性,且只能是不可变类型比如,字符串和数字;值都可以
dic1={123:"1","key":{"key1":"value"}}
2.直接用键判断是否在字典里面
dic1={123:"1","key":{"key1":"value"}}
print(123 in dic1) #结果为True
print("1" in dic1) #结果为False
结果:第一个是True 第二个是False
3.键通过dic1.keys()判断 ,值通过dic1.values()
dic1={123:"1","key":{"key1":"value"}}
print(123 in dic1.keys()) #结果为True:
print("1" in dic1.values()) #结果为True:
4通过键去替换值 ,字典dic[键]表示求值, 若键再字典里面就是修改字典的值
dic1={123:"1","key":{"key1":"value"}}
dic1[123]="我是新value" #若键再字典里面就是修改字典的值
print(dic1)
结果:{123: '我是新value', 'key': {'key1': 'value'}}
5.键若不在字典里面就是新增字典的值
dic1={123:"1","key":{"key1":"value"}}
dic1["aa"]=["bb",1] #键若不在字典里面就是新增字典的值
print(dic1)
结果:{123: '1', 'key': {'key1': 'value'}, 'aa': ['bb', 1]}
6通过键去删除
dic1={123:"1","key":{"key1":"value"}}
del dic1[123] #删除键和值
print(dic1)
del dic1['123'] #报错,因为键是123int类型不能是'123'str类型
print(dic1)
结果:第一个:{'key': {'key1': 'value'}},
第二个报错:Traceback (most recent call last):
File "D:\project\test\221108.py", line 98, in <module>
del dic1['123'] #删除键和值
KeyError: '123'
7通过键去更新值
dic1={123:"1","key":{"key1":"value"}}
dic1.update({123:"abc"})
print(dic1)
结果:{123: 'abc', 'key': {'key1': 'value'}}
8遍历字典键值
dic1={123:"1","key":{"key1":"value"}}
for k,v in dic1.items(): #遍历字典的键和值
print(k,v)
结果:123 1
key {'key1': 'value'}
9遍历键
dic1={123:"1","key":{"key1":"value"}}
for k in dic1.keys(): #遍历字典的键
print(k)
结果:123
key
10遍历值
dic1={123:"1","key":{"key1":"value"}}
for v in dic1.values(): #遍历字典的值
print(v)
结果: 1
{'key1': 'value'}
【Json字符串】:是一种像字典的字符串,都是有键值对组成,键只能是字符串或者数字,值都可以,JSON无法通过键去取值。
str1='{"ame":"tom","age":"18","grade":"124"}'
import json
print(type(s