################################第二节################################################
python中数据类型的常见的方法
第一个数据类型 字符串 str
字符串里面有很多的功能,叫方法.只要是字符串,就可以用里面的方法,方法有很多,不用刻意的去记住,因为你以后会常
用到.另外如果你用了一个好的编辑器的话,他会有提示的.
介绍一下几个
1.capitalize 首字母大写,而且会吧不是首字母的大写的字母给变成小写
liu = ‘handSome‘
print(liu.capitalize)
>>> Handsome
2.casefold 这个比较牛逼,把大写变为小写,但是他可以变化非字母的比如德语的大小写,如果是中文,除外
3.lower 这个和上面的一样,变为小写,但是只能转换英文字母的
4.upper 这个是变成大写的
5.center 字符串居中 这个可以接受两个参数,一个是多少,一个是字符分隔,(至少一个参数)
liu = ‘liukang‘
print(liu.center(20,"*"))
>>> ******liukang*******
##20代表输出的长度等于20,‘*‘代表是以什么填充,如果不写,默认是空格
6.count 统计出现的次数,可以接受三个参参数,一个是要查找的字符(必须有),
另外两个是从哪里开始查,到哪里结束(可以省略)
liu = ‘llliukkkaang‘
print(‘l‘,3)
>>>> 0
7.endswith 这个是查看是否已制定的字符串结尾,返回的是bool值 ##startswith 这个是查开头的
liu=‘liukang‘
print(liu.endswith(‘s‘))
>>> False
8.expandtabs 这个是转换的,就是把字符串里面的‘\t‘转换成你想要的空格数,默认是八个空格
liu=‘liu\tkang‘
print(liu.expandtabs(3))
>>>liu kang
9.find 这个是查找字符串的位置的找到就返回位置所在,找不到就返回-1.这个比index好些.index也是查找的,
但是找不到会报错.find接受三个值,一个是字符串,另外两个是开始和结束的位置.
还有一个方法,rfind,这个从右边开始查找的.
>>> liu=‘liukang‘
>>> print(liu.find(‘l‘))
0
>>> print(liu.find(‘3‘))
-1
10.index 查找字符串的位置,找不到的话会报"ValueError: substring not found"
这个接受三个值,一个是字符串,另外两个是开始和结束的位置
rindex:一样,不过是从右边开始.
11.format 这个也是字符串的格式化,一前用的是%s,如果用它的话,要在字符串里面这么写
liu= ‘name:{name},sex:{sex}‘
或者:
liu = ‘name:{0},sex:{1}‘
format对应的写法分别是:
1. >>> liu=‘name:{name},sex:{sex}‘
>>> print(liu.format(name=‘liukang‘,sex=‘man‘))
name:liukang,sex:man
2. >>> liu=‘name:{0},sex:{1}‘
>>> print(liu.format(‘liukang‘,‘man‘))
name:liukang,sex:man
12.format_map 这个也是字符串的格式化,不过传入的是个字典,而且字符串里不能用数字来表示 了.
>>> liu = ‘name:{name},sex:{sex}‘
>>> print(liu.format_map({‘name‘:‘liukang‘,‘sex‘:‘man‘}))
name:liukang,sex:man
13.isalnum 判断字符串里有没有空格,有的话是False,没有事True
liu = ‘liu‘
print(liu.isalnum())
True
14.isalpha 这个是查看字符串是否全为字母,是的话为True,否则为False
liu=‘w12‘
print(liu.isalpha())
False
15.isdecimal 这个就是查看字符串是不是数字 返回的是bool值,是的话为True,这个最常用了.下面两个,但当了解
16.isdigit 这个也是可以识别是不是数字,但是他还包含了这种的‘②‘.
17.isnumeric 这个也是识别数字的,但是她可以识别 这几种‘123‘,‘二‘,‘②‘
18.isspace 这个是查看字符串是不是全是空白字符,如果是返回True,
19.istitle 这个是查看单词的首字母是不是大写的.是的话为True.
20.isupper 这个是查看字符串是不是都是大写的.是的话返回True.
21. join 这个是星级应用 ,这个是用来链接字符串的. 这个很省内存
>>> liu=‘liukang‘
>>> a=‘_‘.join(liu)
>>> print(a)
l_i_u_k_a_n_g
22.ljust 这个对字符串想做边填充,可以接受两个参数,一个是宽度(必须),另一个是符号(默认为空格)
#######这个填充的是安照你填充字符的左右为基准.########
>>> liu=‘liukang‘
>>> print(liu.ljust(20,"*"))
liukang*************
23.rjust 这个的功用和上面一样,不在赘述.
24.maketrans + translate 这个是对应关系+翻译,
>>> liu=‘123kang‘
>>> a= str.maketrans(‘123‘,‘liu‘) #这个是先定义好对应的关系
>>> print(liu.translate(a)) #这个是根据对应的关系进行转变
liukang
25.partition 这个和split功能一样,也是分区,但是他会保留你分区的依据.
>>> liu=‘123|kang‘
>>> print(liu.partition(‘|‘))
(‘123‘, ‘|‘, ‘kang‘)
rpartition: 这个是从右边开始的.不在赘述
27.replace 这个是替换.
>>> liu=‘123|kang‘
>>> print(liu.replace(‘123‘,‘liu‘))
liu|kang
28.split 这个是分割返回一个列表,接受两个参数,一个是分割依据,一个是分割几次,(可以都不写,)
liu=‘liu|kang‘
print(liu.split(‘|‘))
###rsplit 这个代表从右边开始切割,用法同上
29.strip 脱去两边的空格,和换行符. ###这个还有其他衍生的 rstrip,lstrip 用法同strip
liu=‘ liu kang\n‘
print(liu.strip())
liu kang
30.swapcase 这个是大小写交换
31.title 这个是吧每个英文字母的开头变为大写
####################################int 整数####################################
我感觉这个没啥好说的,看了看里面的用法,基本上不常用,所以就不在解释了,
int是不可变类型
####################################bool 布尔值####################################
True
False 空/0
####################################list 列表####################################
liu=[11,22,33,44,55,]
1.append 追加,
liu=[]
liu.append(‘liu‘)
2. expand 追加一个列表
liu.extend([‘liu‘,‘kang‘,‘lisi‘])
3.clear 清空一个列表
liu.clear()
4.copy 浅拷贝
new = liu.copy()
print(new)
5.count 统计某个元素的个数
print(liu.count(11)) #统计11出现的次数
6.index 这个是索引位置的接受三个值, 一个是所以的value,另外两个是开始和结束的位置(可以不写)
print(liu.index(11))
7.insert 插入
接受两个值,一个是索引的位置,一个是值,
liu.insert(0,‘liukang‘)
print(liu)
8.pop 删除掉里面的元素,并且可以获取到删除的元素,里面写索引
a=liu.pop(0)
print(liu)
9.remove 删除掉里面元素,但是获取不到值
a=liu.remove(‘11‘)
print(a)
>>>None
10.reverse 颠倒列表
print(liu.reverse())
11.sort 排序
print(liu.sort())
其他附带的内容 range enumerate
range 在3里发生了改变,他不在生产一个列表,而是一个范围.减少了内存的占用
want = [‘liu‘,‘kang‘,‘lisi‘,‘zhangsan‘]
for i in range(len(want)):
print(i+1,want[i])
enumerate 可以可以生成一个带序号的列表,底下的1的意思是说从哪个数字开始
例子:
want = [‘liu‘,‘kang‘,‘lisi‘,‘zhangsan‘]
for i in enumerate(want,1):
print(i)
################################元组 tuple################################################
元组是个不可变的类型,一旦创建好,就定型了.
他和列表类似,只是‘型似‘
元组:
user_tuple = (‘alex‘,‘eric‘,‘seven‘,‘alex‘) #不可变
列表:
user_list = [‘alex‘,‘eric‘,‘seven‘,‘alex‘] #可变
####在创建列表的时候建议这么创建:
user_tuple2=(‘sever,‘) ##如果不加逗号的话,会认为是字符串,
方法:
1. count 统计里面元素的个数
user_tuple.count(‘alex‘)
2. index 查找里面的元素的索引位置.如果有多个,只返回第一个,如果没有回报错
user_tuple.index(‘alex‘)
################################字典 dict################################################
字典就是个键值对,键必须是可哈希的.生么是可哈希的呢,简单来说就是不可变的东西,
如果一个对象是可变的,如:列表,字典,集合, 那么他就不可以进行哈希.
dic = {‘k1‘:‘v1‘,‘k2‘:‘v2‘,‘k3‘:‘v3‘}
1.clear 清空字典
dic.clear()
2.copy 拷贝字典(浅拷贝)
a = dic.copy
3.get 根据指定的key 获取value,可以接受两个参数,一个是key,另一个是指定的value,当这个key有值的时候,
返回字典里的value,否则返回第二个参数
dic.get(‘k1‘,‘liukang‘)
dic.get(‘k‘,‘liukang‘)
4.pop 删除对应的值,并且获取到,可以接受两个值,一个是有key的情况,一个是没有key的情况
>>> dic={‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘, ‘k3‘: ‘v3‘}
>>> a = dic.pop(‘k1‘)
>>> a
‘v1‘
>>> a = dic.pop(‘k‘,‘liukang‘)
>>> a
‘liukang‘
5.popitem 随机删除一个key,并且获取到删除的键值,如果删除没了的话,会报keyError的错误.
>>> dic={‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘, ‘k3‘: ‘v3‘}
>>> a = dic.popitem()
>>> a
(‘k3‘, ‘v3‘)
6.setdefault 增加,如果有的话不改变,没有的进行添加.
>>> dic
{‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘}
>>> dic.setdefault(‘k1‘,‘2‘)
‘v1‘
>>> dic
{‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘}
>>> dic.setdefault(‘k3‘,‘2‘)
‘2‘
>>> dic
{‘k1‘: ‘v1‘, ‘k2‘: ‘v2‘, ‘k3‘: ‘2‘}
7.update fromkeys: 批量添加或者修改,
dic[‘k1‘]=‘change‘ ##修改
dic.update({‘k3‘:‘v3‘,‘k1‘:‘v24‘}) #批量添加
dic = dict.fromkeys([‘k1‘,‘k2‘,‘k3‘],[1,]) #批量添加同一个值,但是如果修改其中任意
一个key的话,其他的key的value也会发生改变
################################集合 set################################################
不可重复,但是是个可变的集合
s1 = {"alex",‘eric‘,‘tony‘,}
s2 = {"alex",‘eric‘,‘tony‘,‘jack‘}
1.difference 比较里两个集合里的东西
>>> a=s2.difference(s1) ##s2中存在,s1中不存在的
>>> a
{‘刘一‘}
4.intersection 交集
s1.intersection(s2)
5.union 并集
s1.union(s2)
6.discard 移除
s1 = {"alex",‘eric‘,‘tony‘,‘李泉‘,‘李泉11‘}
s1.discard(‘alex‘)
7.update 批量添加
s1.update({‘alex‘,‘123123‘,‘fff‘})
以上就是pyhton中用到的数据类型的方法,不尽之处还请包涵.