整型 int()
1.用途:年龄、号码、等级
2.定义:可以使用int()方法将纯数字的字符串转为十进制的整型
x=10
浮点型
1.作用
薪资、身高
2.定义方式
x=10.2
字符串类型内置方法 str()
一、作用
姓名
二、定义方式
x='name'
三、内置方法
优先掌握
1.索引取值
s = 'hello world' print(s[0]) # h print(s[-1]) # d
2.索引切片
s = 'nick handsome' print(s[0:4]) # 顾头不顾尾 nick print(s[0:4:2]) # 2表示步长,隔一个取一个 nc print(1, s[4:0:-1]) # +从左到右,-表示从右到左 1 kci print(1, s[2:]) # 左边的不写取到最左边,右边的不写取到最右边 ck handsome
3.for循环
s = 'nick handsome' #循环出每一个字符 for i in s: print(i)
4.成员运算
s = 'nick handsome' #判断是否存在该序列,返回布尔值 print('nick' in s) print('nick1' not in s) # True
5.len长度
s1 = 'nick handsome' #计算字符长度 print(len(s1)) #13
6.strip()
# 默认去除两端空格,可以指定去除的字符,可以指定多个字符同时去掉 s1 = 'a nick ******' print(s1.strip()) print(s1.strip(' kc*')) # 可以乱序,但是不能没有
name1 = ' byx 'print(name1.strip()) # byx name2 = '$by$x$'print(name2.strip('$')) # by$x 中间的符号不会去除 print(name2.lstrip('$')) # by$x$ print(name2.rstrip('$')) # $by$x
7.split()
s2 = 'nick|123658|180|140' print(s2.split('|')) # 按照|切割字符串,得到的是一个列表
['nick', '123658', '180', '140']
8.replace()
str = 'Rome was not built in one day' res = str.replace('day', 'month') print(res) # Rome was not built in one month print(str) # Rome was not built in one day 原字符串没变
9.join()
user_list = ['byx', '18', 'male'] res = '|'.join(user_list) print(res) # byx|18|male
需要掌握
1.rstrip/lstrip
# strip() 默认去除两端空格 s3 = '**nick**' #lstrip 从左开始去除,rstrip 从右边开始去除 print(s3.lstrip('*')) print(s3.rstrip('*'))
2.rsplit/split
#split默认从左边开始切割 s = 'nick|handsome|180|140|'print(s.split('|',2)) print(s.rsplit('|',1)) # 从右切割
打印结果为: ['nick', 'handsome', '180|140|'] ['nick|handsome|180|140', '']
3.lower/upper
s3 = 'Nick' print(s3.lower()) # 小写 print(s3.upper()) # 大写
4.startswith/endswith
s4 = 'nick handsome' print(s4.startswith('nick')) # 以。。。开始 返回布尔值 print(s4.endswith('some')) # 以。。。结束
打印结果为:True
True
5.isdigit/isalpha
s = 'a123123' print(s.isdigit()) # 判断字符串内字符是否都为数字, 返回布尔值 s = 'askdlfj234' print(s.isalpha()) # 判断字符串内字符是否都为字母
打印结果为:Flase
False
了解
1.find / rfind / index / rindex / count
s = 'nick handsome' print(s.find('h')) # 找索引,-1表示没找到 5 print(s.rfind('h',6,10)) -1 print(s.index('h')) 5 # print(s.index('sadf')) # 找不到报错 # print(s.find('sadf')) # 找不到返回-1 s = 'aaaaacccc' print(s.count('a')) #计数 5
2.center / ljust / rjust / zfill
s = 'nick' print(s.center(50,'*')) # 居中 print(s.ljust(50,'*')) print(s.rjust(50,'*')) s = '111' print(s.zfill(8)) #自动补足8位 常用于二进制
打印结果为: ***********************nick*********************** nick********************************************** **********************************************nick 00000111
3.expandtabs
s = 'b yx'
print(s) # b yx
print(s.expandtabs(10)) # b yx # table键变为10个空格
4.capital / swapcase / title
s = 'nickNick handsome' print(s.capitalize()) # 首字母大写 print(s.swapcase()) #全部大写 print(s.title()) # 每个单词的首字母大写 打印结果为: Nicknick handsome NICKnICK HANDSOME Nicknick Handsome
5.is系列
sdecimal(): 检查字符串是否值包含十进制字符,如果是返回True,否则返回False。
isdigit(): 如果字符串只包含数字则返回True,否则返回False。
isnumeric(): 如果字符串中只包含数字字符,则返回True,否则返回False。
列表类型内置方法 list()
1.索引取值
# list之索引取值
name_list = ['nick', 'jason', 'tank', 'sean']
name_list[0] = 'nick handsom'
# name_list[1000] = 'tank sb' # 报错
print(f"name_list[0]: {name_list[0]}")
打印结果为:name_list[0]: nick handsom
2.切片
# list之切片 name_list = ['nick', 'jason', 'tank', 'sean'] print(f"name_list[0:3:2]: {name_list[0:3:2]}") 打印结果:name_list[0:3:2]: ['nick', 'tank']
3.长度
# list之长度 name_list = ['nick', 'jason', 'tank', 'sean'] print(f"len(name_list): {len(name_list)}") 打印结果为:len(name_list): 4
4.成员运算 in 和 not in
# list之成员运算in和not in name_list = ['nick', 'jason', 'tank', 'sean'] print(f"'tank sb' in name_list: {'tank sb' in name_list}") print(f"'nick handsome' not in name_list: {'nick handsome' not in name_list}") 打印结果为:'tank sb' in name_list: False 'nick handsome' not in name_list: True
5.追加值
# list之追加值 name_list = ['nick', 'jason', 'tank', 'sean'] name_list.append('tank sb') print(f"name_list: {name_list}") 打印结果为:name_list: ['nick', 'jason', 'tank', 'sean', 'tank sb']
6.删除
# list之删除 name_list = ['nick', 'jason', 'tank', 'sean'] del name_list[2] print(f"name_list: {name_list}") 打印结果:name_list: ['nick', 'jason', 'sean']
7.循环
# list之循环 name_list = ['nick', 'jason', 'tank', 'sean'] for name in name_list: print(name) 打印结果:nick jason tank sean
8.inster()
# list之insert() name_list = ['nick', 'jason', 'tank', 'sean'] name_list.insert(1, 'handsome') print(f"name_list: {name_list}") 打印结果为:name_list: ['nick', 'handsome', 'jason', 'tank', 'sean']
9.pop()
# list之pop(),pop()默认删除最后一个元素 name_list = ['nick', 'jason', 'tank', 'sean'] print(f"name_list.pop(1): {name_list.pop(1)}") print(f"name_list: {name_list}") 打印结果为:
name_list.pop(1): jason name_list: ['nick', 'tank', 'sean']
10.remove()
# list之remove() name_list = ['nick', 'jason', 'tank', 'sean'] print(f"name_list.remove('nick'): {name_list.remove('nick')}") print(f"name_list: {name_list}") 打印结果为: name_list.remove('nick'): None name_list: ['jason', 'tank', 'sean']
11.count()
# list之count() name_list = ['nick', 'jason', 'tank', 'sean'] print(f"name_list.count('nick'): {name_list.count('nick')}") 打印结果为:name_list.count('nick'): 1
12.index()
# list之index() name_list = ['nick', 'jason', 'tank', 'sean'] print(f"name_list.index('nick'): {name_list.index('nick')}") 打印结果:name_list.index('nick'): 0
13.clear()
# list之clear() name_list = ['nick', 'jason', 'tank', 'sean'] name_list.clear() print(f"name_list: {name_list}") 打印结果为:name_list: []
14.copy()
# list之copy() name_list = ['nick', 'jason', 'tank', 'sean'] print(f"name_list.copy(): {name_list.copy()}") 打印结果为:name_list.copy(): ['nick', 'jason', 'tank', 'sean']
15.extend() 列表拼接
# list之extend() name_list = ['nick', 'jason', 'tank', 'sean'] name_list2 = ['nick handsome'] name_list.extend(name_list2) print(f"name_list: {name_list}") 打印结果:name_list: ['nick', 'jason', 'tank', 'sean', 'nick handsome']
16.reverse() 反序
# list之reverse() name_list = ['nick', 'jason', 'tank', 'sean'] name_list.reverse() print(f"name_list: {name_list}") 打印结果:name_list: ['sean', 'tank', 'jason', 'nick']
17.sort()
# list之sort(),使用sort列表的元素必须是同类型的 name_list = ['nick', 'jason', 'tank', 'sean'] name_list.sort() print(f"name_list: {name_list}") name_list.sort(reverse=True) print(f"name_list_reverse: {name_list}") 打印结果为: name_list: ['jason', 'nick', 'sean', 'tank'] name_list_reverse: ['tank', 'sean', 'nick', 'jason']
列表属于可变数据类型
元祖类型内置方法(tuple)
定义:在()内可以有多个任意类型的值,逗号分隔元素
1.索引取值
# tuple之索引取值 name_tuple = ('nick', 'jason', 'tank', 'sean') # name_tuple[0] = 'nick handsom' # 报错 print(f"name_tuple[0]: {name_tuple[0]}") name_tuple[0]: nick
2.切片(顾头不顾尾,步长)
# tuple之切片 name_tuple = ('nick', 'jason', 'tank', 'sean') print(f"name_tuple[1:3:2]: {name_tuple[1:3:2]}") name_tuple[1:3:2]: ('jason',)
3.长度
# tuple之长度 name_tuple = ('nick', 'jason', 'tank', 'sean') print(f"len(name_tuple): {len(name_tuple)}") len(name_tuple): 4
4.成员运算
# tuple之成员运算 name_tuple = ('nick', 'jason', 'tank', 'sean') print(f"'nick' in name_tuple: {'nick' in name_tuple}") 'nick' in name_tuple: True
5.循环
# tuple之循环 name_tuple = ('nick', 'jason', 'tank', 'sean') for name in name_tuple: print(name) nick jason tank sean
6.count() # 用于统计某个元素在元祖中出现的次数
# tuple之count() name_tuple = ('nick', 'jason', 'tank', 'sean') print(f"name_tuple.count('nick'): {name_tuple.count('nick')}") name_tuple.count('nick'): 1
7.index() #用于从元祖中找出某个对象第一个匹配项的索引位置,如果这个对象不在元祖中会报一个异常。
# tuple之index() name_tuple = ('nick', 'jason', 'tank', 'sean') print(f"name_tuple.index('nick'): {name_tuple.index('nick')}")
元祖为不可变数据类型
字典类型内置方法(dict)
定义:{}内用逗号分隔开多个元素,每一个元素都是key:value的形式,value可以是任意数据类型,而key通常应该是字符串类型,但是key必须为不可变类型。
1.按key存取值
# dic之按key存取值 dic = {'a': 1, 'b': 2} print(f"first dic['a']: {dic['a']}") dic['a'] = 3 print(f"second dic['a']: {dic['a']}") first dic['a']: 1 second dic['a']: 3
2.长度
# dic之长度len dic = {'a': 1, 'b': 2} print(f"len(dic): {len(dic)}") len(dic): 2
3.成员运算符
# dic之成员运算in和not in dic = {'a': 1, 'b': 2} print(f"'a' in dic: {'a' in dic}") print(f"1 in dic: {1 in dic}") 'a' in dic: True 1 in dic: False
4.删除
# dic之删除del dic = {'a': 1, 'b': 2} del dic['a'] print(f"dic.get('a'): {dic.get('a')}") dic.get('a'): None
# dic之删除pop() dic = {'a': 1, 'b': 2} dic.pop('a') # 指定元素删除 print(f"dic.pop('b'): {dic.pop('b')}") #打印出删除的元素值 print(f"dic.get('a'): {dic.get('a')}") dic.pop('b'): 2 dic.get('a'): None
# dic之删除popitem() dic = {'a': 1, 'b': 2} print(f"dic.popitem(): {dic.popitem()}") # popitem() 方法随机返回并删除字典中的一对键和值(一般删除末尾对)。 dic.popitem(): ('b', 2)
5.键keys()、值values()、键值对items()
# dic之键keys()、值values()、键值对items(),python2中取出的是列表(鸡蛋);python3中取出的是元组(鸡) dic = {'a': 1, 'b': 2} print(f"dic.keys(): {dic.keys()}") print(f"dic.values(): {dic.values()}") print(f"dic.items(): {dic.items()}") dic.keys(): dict_keys(['a', 'b']) dic.values(): dict_values([1, 2]) dic.items(): dict_items([('a', 1), ('b', 2)])
6.循环
# dic之循环 # dic是无序的,但是python3采用了底层优化算法,所以看起来是有序的,但是python2中的字典是无序 dic = {'a': 1, 'b': 2, 'c': 3, 'd': 4} for k, v in dic.items(): # items可以换成keys()、values() print(k, v) a 1 b 2 c 3 d 4
7.get()
# dic之get() dic = {'a': 1, 'b': 2} print(f"dic.get('a'): {dic.get('a')}") print(f"dic.get('c'): {dic.get('c')}") dic.get('a'): 1 dic.get('c'): None
8.update() 用于更新字典中的键/值对,可以修改存在的键对应的值,也可以添加新的键/值对到字典中
# dic之update() dic1 = {'a': 1, 'b': 2} dic2 = {'c': 3} dic1.update(dic2) print(f"dic1: {dic1}") dic1: {'a': 1, 'b': 2, 'c': 3}
9.fromkeys() 用于创建一个新的字典,并以可迭代对象中的元素分别作为字典中的键,且所有键对应同一个值,默认为None。
# dic之fromkeys() dic = dict.fromkeys(['name', 'age', 'sex'], None) print(f"dic: {dic}") dic: {'name': None, 'age': None, 'sex': None}
10.setdefault()
# dic之setdefault(),有指定key不会改变值;无指定key则改变值 dic = {'a': 1, 'b': 2} print(f"dic.setdefault('a'): {dic.setdefault('a',3)}") print(f"dic: {dic}") print(f"dic.setdefault('c'): {dic.setdefault('c',3)}") print(f"dic: {dic}") dic.setdefault('a'): 1 dic: {'a': 1, 'b': 2} dic.setdefault('c'): 3 dic: {'a': 1, 'b': 2, 'c': 3}
集合类型内置方法(set)
1.用途:用于关系运算的集合体,由于集合内的元素无序且集合元素不可重复,因此集合可以去重,但是去重后的集合会打乱原来元素的顺序。
2.定义:{}内用逗号分隔开多个元素,每个元素必须是不可变类型。
内置方法:
1.len
# set之长度len s = {1, 2, 'a'} print(f"len(s): {len(s)}") len(s): 3
2.成员运算和not in
# set之成员运算in和not in s = {1, 2, 'a'} print(f"1 in s: {1 in s}") 1 in s: True
3. |并集、union
# str之|并集 pythoners = {'jason', 'nick', 'tank', 'sean'} linuxers = {'nick', 'egon', 'kevin'} print(f"pythoners|linuxers: {pythoners|linuxers}") print(f"pythoners.union(linuxers): {pythoners.union(linuxers)}") pythoners|linuxers: {'egon', 'tank', 'kevin', 'jason', 'nick', 'sean'} pythoners.union(linuxers): {'egon', 'tank', 'kevin', 'jason', 'nick', 'sean'}
4.&交集、intersection
# str之&交集 pythoners = {'jason', 'nick', 'tank', 'sean'} linuxers = {'nick', 'egon', 'kevin'} print(f"pythoners&linuxers: {pythoners&linuxers}") print(f"pythoners.intersection(linuxers): {pythoners.intersection(linuxers)}") pythoners&linuxers: {'nick'} pythoners.intersection(linuxers): {'nick'}
5.-差集、difference
# str之-差集 pythoners = {'jason', 'nick', 'tank', 'sean'} linuxers = {'nick', 'egon', 'kevin'} print(f"pythoners-linuxers: {pythoners-linuxers}") print(f"pythoners.difference(linuxers): {pythoners.difference(linuxers)}") pythoners-linuxers: {'tank', 'jason', 'sean'} pythoners.difference(linuxers): {'tank', 'jason', 'sean'}
6.^对称差集
# str之^对称差集 pythoners = {'jason', 'nick', 'tank', 'sean'} linuxers = {'nick', 'egon', 'kevin'} print(f"pythoners^linuxers: {pythoners^linuxers}") print( f"pythoners.symmetric_difference(linuxers): {pythoners.symmetric_difference(linuxers)}") pythoners^linuxers: {'egon', 'tank', 'kevin', 'jason', 'sean'} pythoners.symmetric_difference(linuxers): {'egon', 'tank', 'kevin', 'jason', 'sean'}
7.==
# str之== pythoners = {'jason', 'nick', 'tank', 'sean'} linuxers = {'nick', 'egon', 'kevin'} javers = {'nick', 'egon', 'kevin'} print(f"pythoners==linuxers: {pythoners==linuxers}") print(f"javers==linuxers: {javers==linuxers}") pythoners==linuxers: False javers==linuxers: True
8.父集:>、>=
# str之父集:>、>= pythoners = {'jason', 'nick', 'tank', 'sean'} linuxers = {'nick', 'egon', 'kevin'} javaers = {'jason', 'nick'} print(f"pythoners>linuxers: {pythoners>linuxers}") print(f"pythoners>=linuxers: {pythoners>=linuxers}") print(f"pythoners>=javaers: {pythoners>=javaers}") print(f"pythoners.issuperset(javaers): {pythoners.issuperset(javaers)}") pythoners>linuxers: False pythoners>=linuxers: False pythoners>=javaers: True pythoners.issuperset(javaers): True
9.子集:<、<=
# str之子集:<、<= pythoners = {'jason', 'nick', 'tank', 'sean'} linuxers = {'nick', 'egon', 'kevin'} javaers = {'jason', 'nick'} print(f"pythoners<linuxers: {pythoners<linuxers}") print(f"pythoners<=linuxers: {pythoners<=linuxers}") print(f"javaers.issubset(javaers): {javaers.issubset(javaers)}") pythoners<linuxers: False pythoners<=linuxers: False javaers.issubset(javaers): True
10.add()
# set之add() s = {1, 2, 'a'} s.add(3) print(s) {1, 2, 3, 'a'}
11.remove()
# set之remove() s = {1, 2, 'a'} s.remove(1) print(s) {2, 'a'}
12.difference_update()
# str之difference_update() pythoners = {'jason', 'nick', 'tank', 'sean'} linuxers = {'nick', 'egon', 'kevin'} pythoners.difference_update(linuxers) print(f"pythoners.difference_update(linuxers): {pythoners}") pythoners.difference_update(linuxers): {'tank', 'jason', 'sean'}
数据类型总结
存一个值or多个
存一个值: 整型/浮点型/字符串
存多个值: 列表/元组/字典/集合
有序or无序
有序:字符串/列表/元组(序列类型) 无序:字典/集合
可变or不可变
可变:列表/字典/集合 不可变:整型/浮点型/字符串/元组