python基础知识回顾
三大主流数据类型的操作
字符串常用方法
注:字符串是不可变的,无法通过索引修改与删除
- capitalize将字符串首字母大写:
newstr = string.capitalize()
- casefold将字符串全体小写:
newstr = string.casefold()
newstr = string.lower()
- upper将字符串全体大写:
newstr = string.upper()
- swapcase将字符串中大小写字母进行转换
newstr = string.swapcase()
- zfill为字符串定义长度,若不满足缺少的部分用0填补
newstr = string.zfill(width)
width:希望新字符串的宽度
- count返回当前字符串中某元素的个数
string.count(sub)
sub:想查询个数的元素,返回整型(int)
若查询的元素不存在,则返回0
- startswith/endswith判断字符串开始/结尾是否为某元素
string.startswith/endswith(sub)
sub:想查询匹配的元素,返回bool
- find与index返回寻找的元素的索引位置
string.find(sub)
string.index(sub)
sub:想查询的元素,返回整型(索引)
区别:find找不到元素会返回-1,index找不到元素会报错!
- strip去掉字符串左右两边的指定元素,默认去掉空格。(lstrip/rstrip仅去掉字符串开头/结尾的指定元素或空格)
newstr = string.strip(sub)
sub:想去掉的元素
- replace将字符串中的旧元素替换成新元素,并能指定替换的数量
newstr = string.replace(old, new[, max])
old:被替换的元素
new:替换old的新元素
max:可选参数,代表替换几个,默认全部替换
- isspace判断一个字符串是否是由一个空格组成的字符串(不是空字符串!)
string.isspace()
返回bool
- istitle判断字符串是否是一个标题类型
string.istitle()
该函数只能用于英文,返回bool
- isupper/islower判断字符串中的字母是否都是大写/小写
string.isupper()/islower()
返回bool,并且函数只字符串中的字母,对其他字符不做判断
- split将字符串以一定规则切割成列表
string.split(sep=None,maxsplit=-1)
sep:切割的规则符号,默认空格
maxsplit:根据切割的符号切割的次数,默认-1无限制
返回列表
编码方式
- ascii:英文编码,一个字符=1个字节,最多只能用8位来表示
- gbk:中文编码,非ASCII码,只用来编码汉字,一个汉字 = 两个字节,一个英文字母 = 一个字节
- utf-8:国际通用编码,一个中文字符是三个字节;英文是一个字节;欧洲是2个字节。
- Unicode:万国码,世界上所有的符号都给予独一无二的编码,解决乱码问题。一个字符=2个字节
encode编码成bytes,将str转为bytes:str.encode(‘utf-8’)
decode解码成str,将bytes转为str:bytes.decode(‘utf-8’)
转义字符
转义字符:字符要转成其他含义的功能。
列表常用方法
- append将一个元素添加到当前列表中
list.append(new_item)
new_item:添加进列表的新元素
注:被添加的元素只会被添加到末尾
它是在原有列表的基础上添加(列表是可变的)
- insert将一个元素添加到当前列表的指定位置中
list.insert(index, new_item)
index:新元素的位置(索引)
new_item:添加的新元素
注:如果传入的位置列表中不存在,则将新元素添加到列表结尾
- count返回当前列表中某元素的个数
list.count(item)
item:想查询个数的元素
若查询的元素不存在,则返回0
- remove删除列表中的某个元素
list.remove(item)
item:准备删除的列表元素
注:如果删除的元素不存在则报错;
如果删除的元素有多个,只会删第一个。
remove不会返回新列表,而是在原先的列表中对元素进行删除
- reverse对当前列表顺序进行反转
list.reverse()
- sort对当前列表按照一定规律进行排序
list.sort(key=None,reverse=False)
key:函数,它指定列表中的每一个元素来按照该函数进行排序
reverse=False升序(默认),reverse=True降序
注:列表中的元素类型必须相同,否则报错
- clear将当前列表中的数据清空
list.clear()
无返回值
- extend将其他列表或元组中的元素导入到当前列表中
list.extend(iterable)
iterable:列表或元组,该函数无返回值
- pop通过索引删除并获取列表的元素
list.pop(index)
index:删除元素的索引,不存在则报错
该函数会删除该索引的元素并返回
- del删除索引
del list[index]
直接删除,无返回值
index不存在则报错
- copy将当前列表复制一份相同的列表,新列表与旧列表内容相同,但内存空间不同
list.copy()
列表copy属于浅拷贝
copy与二次赋值的区别:
a=[1,2,3]
b=a
b=a.copy()
- join将列表以一定规则转成字符串
‘sep’.join(iterable)
sep:生成字符串用来分割列表每个元素的符号
返回一个字符串
1.二次赋值的变量与原始变量享有相同内存空间,同享数据变更
2.copy是浅拷贝,只拷贝第一层数据,所以只是对第一层数据而言不共享数据变更,但是对深层的数据而言依旧共享数据变更
浅拷贝与深拷贝
字典常用方法
- []处理法:
- update添加新的字典,如果新字典与原字典有相同的key,则该key的value会被新字典的value覆盖
dict.update(new_dict)
无返回值
- setdefault:获取某个key的value,如果key不存在字典中,将会添加key并将value设为默认值
dict.setdefault(key,value)
value:如果key不存在,对应这个key存入字典的默认值
- keys获取当前字典中所有的键(key)
dict.keys()
返回一个key集合的伪列表
- values获取当前字典中所有的键值对中的值(value)
dict.values()
返回一个value集合的伪列表
- get获取当前字典中指定key的value
dict.get(key,default=None)
key:需要获取value的key
default:key不存在则返回默认值,默认为None
- clear清空当前字典中所有数据
dict.clear()
无返回值
- pop删除字典中指定的key,并将结果返回,如果key不存在则报错
dict.pop(key)
key:希望被删掉的键
返回这个key对应的值(value)
- copy将当前字典复制一个新字典
dict.copy()
返回一个一摸一样的内存地址不同的字典(浅拷贝)
- popitem删除当前字典末尾一组键值对并将其返回
dict.popitem()
返回被删除的键值对,用元祖包裹,0索引是key,1索引是value