pycharm文件头添加注释
setting /Editor/File and Code Templates/Python Script
然后进行编辑,${NAME}.py 可自动添加文件名
可变类型与不可变类型
可变数据与不可变数据的使用方法不同
当添加新值之后,原值与新值之间:
可变类型:值变,id不变(可变类型的id固定)
不可变类型:值变,id也变(不可变类型的id会随着新值的产生而改变)
布尔
布尔类型不仅可以表示真假,还可以表示有无,还可以表示满足或不满足
字符串
字符串属于不可变类型,值变,id也变,字符串的所有修改操作都是产生一个新值
查
提取字符
提取单个字符
提取首个字母,如下
name=’dahai’
print(name[0])
提取多个字符
切片(顾头不顾尾,步长)查找字符串中的一段值,[起始值:终止值:步长]如:
msg=’hello world’
print(msg[0:3:2])
提取不会改变原值
了解
起始值,终止值如果不输入数字,则默认是从头取到尾
步长如果是负值,则切片会反向取值
len
in和not in
用来判断一个小字符串是否存在于一个大字符串中,结果返回布尔类型
find,index
在大字符串中查找小字符串,find函数,没找到会返回-1;index函数没找到会报错。
结果:
index查找报错结果:
count
用来统计一个字符串在另一个字符串中出现 的次数count。结果:
isdigit
判断 一个字符串里的数据是不是都是数字, isdigit 返回布尔值
结果:
isalpha
int
·把全是数字的字符串转换成整型
当然也可以用来判断字符串里是不是全是数字,有一个不是数字就会报错
startswith、endswith
startswith比较开头的元素是否相同;endswith比较结尾的元素是否相同结果:
结果:
islower、isupper
判断字符串中的字母是不是全是大写或小写 islower, isupper
结果:
增
拼接
用“+”拼接 ,可以将两个字符串拼接起来。print(‘a’+’b’) 结果:ab
注意:如果用逗号隔开两个字符串,如:print(‘a’,’b’),表示的是打印两个字符串中间会用空格隔开,结果: a b
字符串也可用乘法拼接,用 * 号将字符串乘以数字,表示多少个该字符串相拼接
format
join
删
del
改
字符串属于不可变类型,所以更改的实质上就是产生一个新的值(新的数据)(新的id),它也可以给同一个变量重新赋值,但此时的它已经不是原来的它了。
lower,upper
capitalize
split
可以把字符串切分成列表 split 默认空格字符切分
结果:
也可以按照想要的字符对字符串进行切分
结果:
切分split的作用:针对按照某种分隔符组织的字符串,可以用split将其切分成列表,从而可以方便进行取值。
结果:
replace
strip
去掉字符串左右两边的字符, 不写默认是去空格字符,不管中间的其他的字符(包括空格字符)
结果:
了解
center,l just,r just 多余添加自己想要的字符。
结果:
转义
字符串的转义,加了\字符不再表示其本身含义,常用 \n \t
\n为纵向换行符 \t为横向换行符(相当于一个tab)
反转义
结果:
数字
数字是不可变类型,值变,id也变
赋值运算(运算符后跟个等号)
a+=1等价于a=a+1
布尔类型
布尔值不仅代表真假,还可代表有无。空字符串,结果为false
True与False还可代表满足与不满足 (了解)
如果是空字符串结果执行else下的代码体
列表
查
切片
(顾头不顾尾)
查找列表中的一段值[起始值:终止值:步长]
(和字符串提取字符一样,只不过字符串取的是字符,列表取的是一个数据类型/元素,但是字符串不可以通过索引改值)<br />了解<br /><br />
len
count
查看某个元素的个数
in 和 not in
成员运算,in 和 not in
index
增
append
列表末尾添加元素
append是在原值上修改,而不是创造一个新值,所以L.append()函数这里表示过程,而非结果结果:
extend
末尾 添加多个元素,(实际上是往一个列表中插入另一个列表)
insert
元素按索引插入
删除
del
全部删除,<br /><br />索引删除<br /><br />
remove
移除特定元素,指定删除
pop
从列表中拿走一个值 ,按照索引删除值,默认删除最后一个元素
>>> L=['经济',1,2,3,4,5,"黄海"]
>>> res1=L.pop()
>>> print(res1,L)
黄海 ['经济', 1, 2, 3, 4, 5]
>>> res2=L.pop(0)
>>> print(res2, L)
经济 [1, 2, 3, 4, 5]
clear
清空列表元素
>>> L=[1, 2, 3, 4, 5]
>>> L.clear()
>>> print(L)
[]
改
可以直接索引赋值修改
>>> L=[1, 2, 3, 4, 5]
>>> L[0]='白海'
>>> print(L)
['白海', 4, 3, 2, 1]
reverse
>>> L=[1, 2, 3, 4, 5]
>>> L.reverse()
>>> print(L)
[5, 4, 3, 2, 1]
sort
数字排序,不写默认是正序,即默认参数reverse=False;结果:
reverse=True 参数是倒序结果:
元组
元组不能添加和修改,属于不可变类型,想要修改可先转变为列表
结果:
元组的索引,切片,长度len,count个数,index查找 元素序号,成员运算与列表相同,
字典
字典属于可变类型,字典的键值对是无序的
增加
字典添加键值对,如下所示,这样可以直接赋值一个不存在的key及value值
查
成员运算
字典成员运算,in 和 not in,判断的是key,返回的是布尔
结果:
删除
del
删除,key值,将会删除的是相应的键值对。
字典info原值
结果:
pop
删除,返回值是value,实际 上就是拿走了字典的value
结果:
如果pop拿的是不存在的key值,则会报错。
popitem
用来删除最后一对键值对(显示的最后一对,字典本身是无序 的), 字典属于无序类型,当键值对最后变成一对时,会变成元组。
结果:
改
update
结果:
set.default
查
直接查一个不存在的key值会报错结果:
用get查找, 没有key就返回None,不会报错。
取出
取 所有的键值对 items ,取出 的键值对在列表中将 以元组的形式表示。
集合
集合属于可变类型,集合内部的每一个元素都必须是不可变类型。(所以集合里边不能有列表)
集合中不能存在相同的元素
增
add
eg:
s={1,2,3}
s.add(“大海”)
print(s)
删
pop 看pycharm是怎样无序排列的,以当时的顺序进行从第一个元素删除。 默认删除第一个元素
remove 指定删除,指定移除元素。
改
update
结果:
集合转换成列表 list
s1=list(s) #它是按照pycharm临时的顺序转换的
同样用 set 也可以将列表转换成集合
集合去重
具有局限性:1.无法保证原数据类型的顺序,2.当该数据中的所有数据均为不可变类型时才能使用。