数据类型内置方法介绍
- 八大基本数据类型
- 数字类型
- 字符串(str)
- 列表(list)
- 元组(tuple)
- 布尔(bool)
- 字典(dict)
- 集合(set)
【一】整型(int)
(1)类型强转
| num = '123' |
| print(num, type(num)) |
| print(int(num), type(int(num))) |
- 其他进制转为十进制
- 二进制(以'0b'或者'0B'开头)
- 八进制(以'0o'或者'0O'开头)
- 十六进制(以'0x'或者'0X'开头)
| |
| print(int('0b11100',2)) |
| print(int('0o1747',8)) |
| print(int('0x3e7',16)) |
【二】浮点类型(float)
(1)类型强转
| num = '18.0' |
| print(num, type(num)) |
| print(float(num), type(float(num))) |
(2)取整-round
| print(round(3.5)) |
| print(round(4.0)) |
【三】字符串类型(str)
(1)索引取值
| name='heart' |
| print(name[0]) |
(2)字符串拼接
| word1 = 'hello' |
| word2 = 'world' |
| print(word1 + ',' + word2) |
| word1 = 'hello' |
| print('-'.join(word1)) |
(3)切片
- 切片也是顾头不顾尾 [起始位置:想要的结束位置+1]
| name = 'heart' |
| name_one = name[0] + name[1] |
| print(name_one) |
| |
| name_two = name[2:4 + 1] |
| print(name_two) |
- 切片也可以加步长 [起始位置:想要的结束位置+1:step]
| name = 'heart' |
| name_three = name[0:5 + 1:2] |
| print(name_three) |
| name = 'heart' |
| name_four = name[1::] |
| print(name_four) |
(4)成员运算
in
和not in
用于检查一个字符串是否包含另一个字符串
| name = 'heart' |
| print('h' in name) |
| print('d' in name) |
(5)去除空格 strip()
- strip()方法用于去除字符串里的空格
- lstrip()用于去除字符左边的空格
- rstrip()用于去除字符右边的空格
| name=' heart ' |
| print(name.strip()) |
| name = '&&heart&&' |
| print(name.strip('&')) |
(6)切分 split()
- 顾名思义就是将字符串切分成多个子字符串,并返回一个包含切分后字符串的列表
| name = 'heart-425' |
| print(name.split('-')) |
(7)大小写转换
- 小写转大写upper()
- 大写转小写lower()
| name = 'HeArt' |
| print(name.upper()) |
| print(name.lower()) |
(8)首尾字符判断
- startswith()判断当前字符以什么开头,返回bool值
- endswith()判断当前字符以什么结尾,返回bool值
| name = 'heart' |
| print(name.startswith('h')) |
| print(name.startswith('e')) |
| print(name.endswith('t')) |
| print(name.endswith('r')) |
(9)替换replace
| title = 'my hero is heart' |
| print(title.replace('heart', 'godfather')) |
【四】列表类型(list)
(1)类型强转
- 字符串类型强转成列表类型的话就是将每一个元素都拿出,凑成一个列表
| name = 'heart' |
| print(list(name)) |
| name_tuple = ('heart', 'godfather') |
| print(list(name_tuple)) |
| name_set = {'heart', 'godfather'} |
| print(list(name_set)) |
| name_dict = {'heart': '123456', 'god': '123'} |
| print(list(name_dict)) |
(2)切片
| name_list = ['heart', 'god', 'zeus'] |
| print(name_list[0:3]) |
| num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] |
| print(num_list[0:8:2]) |
(3)计算长度 len
| num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] |
| print(len(num_list)) |
(4)增加
[1]append()
| num_list = [1, 2, 3, 4, 5, 6] |
| num_list.append(11) |
| print(num_list) |
[2]extend()
| num_list = [1, 2, 3, 4, 5, 6] |
| num_list.extend((11, 22, 33)) |
| num_list.extend([99, 88, 77]) |
| num_list.extend({'name': 'heart', 'age': '18'}) |
| print(num_list) |
[3]insert()
| num_list = [1, 2, 3, 4, 5, 6] |
| num_list.insert(1, 'a') |
| print(num_list) |
(5)删除
[1]del
| num_list = [1, 2, 3] |
| del num_list[0] |
| print(num_list) |
[2]pop()
| num_list = [1, 2, 3] |
| a = num_list.pop() |
| print(a) |
| print(num_list) |
[3]remove()
-
指名道姓删除括号内的元素,没有返回值
-
与pop不同,pop是通过索引值来删除的
| num_list = [1, 2, 3, 'heart'] |
| num_list.remove('heart') |
| print(num_list) |
(6)改
| num_list = [1, 2, 3] |
| num_list[0] = 'heart' |
| print(num_list) |
[1]reverse()
| num_list = [1, 2, 3, 4, 5, 6] |
| num_list.reverse() |
| print(num_list) |
[2]sort()
| num_list = [1, 3, 5, 4, 6, 8] |
| num_list.sort() |
| print(num_list) |
| num_list = [1, 3, 5, 4, 6, 8] |
| num_list.sort(reverse=True) |
| print(num_list) |
[3]sorted
-
sorted函数可以保留原来的列表
-
也可以排序,默认正序,返回值就是排好序的新列表
| num_list = [1, 3, 5, 4, 6, 8] |
| a = sorted(num_list) |
| print(a) |
| print(num_list) |
【五】布尔类型(bool)
(1)类型强转
- 代表真的情况:
- 数字类型 1(有值的数字类型都是真)
- 有值的字符串/列表/字典/元组/集合
| num = 1 |
| print(bool(num), type(bool(num))) |
| num = 0 |
| num_one = '' |
| print(bool(num), type(bool(num))) |
| print(bool(num_one), type(bool(num_one))) |
【六】元组类型(tuple)
(1)类型强转
- 但凡能被for循环遍历的数据类型都可以传给tuple()转换成元组类型
| name_list = ['heart', 18] |
| print(tuple(name_list), type(tuple(name_list))) |
(2)索引取值
| name_tuple = ('heart', 'god') |
| print(name_tuple[0]) |
(3)切片
| name_tuple = ('heart', 'god', 'father', 'tom') |
| print(name_tuple[0:2]) |
(4)计算长度 len
| name_tuple = ('heart', 'god', 'father', 'tom') |
| print(len(name_tuple)) |
(5)成员运算
| num_tuple = (1, 2, 3, 4) |
| print(3 in num_tuple) |
(6)循环取值
| num_tuple = (1, 2, 3, 4) |
| num_tuple_two = ('a', 'b', 'c') |
| print(num_tuple + num_tuple_two) |
【七】字典类型(dict)
(1)取值
[1]按[key]
| dict_one = {'name': 'heart', 'age': 18, 'height': '180'} |
| print(dict_one['name']) |
[2]get取值
- 使用
get
方法可以根据键获取对应的值,如果键不存在,则返回指定的值
| dict_one = {'name': 'heart', 'age': 18} |
| print(dict_one.get('name')) |
| print(dict_one.get('height', 180)) |
(2)计算长度 len
| dict_one = {'name': 'heart', 'age': 18, 'height': 180} |
| print(len(dict_one)) |
(3)成员运算
| dict_one = {'name': 'heart', 'age': 18, 'height': 180} |
| print('name' in dict_one) |
(4)增加
- 如果没有这个键,那就将键添加进字典里
- 如果存在这个键,就直接替换成新内容
| dict_one = {'name': 'heart', 'age': 18, 'height': 180} |
| dict_one['sex'] = '男' |
| dict_one['name'] = 'heart1' |
| print(dict_one) |
[1] update(key=value)
- 使用
update()
方法可以批量增加键值对,如果键已经存在,则更新字典
| dict_one = {'name': 'heart'} |
| dict_one.update(sex='男', hobby=['music']) |
| print(dict_one) |
[2]setdefault(key,value)
- 用于获取指定键的值,如果键不存在,则返回默认值,有返回值,并且返回值就是你添加到字典中的值,只能单个增加元素
| dict_one = {'name': 'heart'} |
| res = dict_one.setdefault('sex', '男') |
| print(dict_one) |
| print(res) |
(5)删除
[1]del
| dict_one = {'name': 'heart', 'age': 18} |
| del dict_one['name'] |
| print(dict_one) |
[2]pop()
- 使用
pop
方法可以根据键弹出字典中的键值对,同时返回被弹出的值
| dict_one = {'name': 'heart', 'age': 18, 'height': 180} |
| print(dict_one.pop('age')) |
| print(dict_one) |
[3]clear()
| dict_one = {'name': 'heart', 'age': 18, 'height': 180} |
| dict_one.clear() |
| print(dict_one) |
[4]popitem
- 删除字典中结尾的一个键值对,并以元组的形式返回被删除的键值
| dict_one = {'name': 'heart', 'age': 18, 'height': 180} |
| print(dict_one.popitem()) |
| print(dict_one) |
(6)keys()键对
| dict_one = {'name': 'heart', 'age': 18, 'height': 180} |
| print(dict_one.keys()) |
(7)values()值对
| dict_one = {'name': 'heart', 'age': 18, 'height': 180} |
| print(dict_one.values()) |
(8)items()键值对
| dict_one = {'name': 'heart', 'age': 18, 'height': 180} |
| print(dict_one.items()) |
(9)遍历循环
| dict_one = {'name': 'heart', 'age': 18, 'height': 180} |
| for i in dict_one: |
| print(i) |
| dict_one = {'name': 'heart', 'age': 18, 'height': 180} |
| for k,v in dict_one.items(): |
| print(k,v) |
(10)sorted()字典排序
| dict_one = {'name': 'heart', 'age': 18, 'height': 180} |
| print(sorted(dict_one)) |
【八】集合类型(set)
(1)类型强转
- 字符串类型可以强转成集合类型
- 字典也可以去重,一般我们只对字典的值去重
| print(set({'name': 'heart', 'age': 18, 'sex': '男', 'height': 18}.values())) |
| num_list = [1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6] |
| print(set(num_list)) |
(2)添加元素
[1]add()
| num_set = {1, 2, 3, 4} |
| num_set.add(5) |
| print(num_set) |
[2]update()
-
添加多个元素(字符串/列表/字典/元组)
-
重复的元素会按照集合的特性进行去重
| num_set = {1, 2, 3, 4} |
| num_set.update((1, 2, 5, 6)) |
| print(num_set) |
(3)删除元素
[1]remove()
| num_set = {1, 2, 3, 4, 5, 6} |
| num_set.remove(1) |
| print(num_set) |
[2]discard()
- 用于移除集合中的指定元素,如果元素不存在无反应,不会报错,没有返回值
| num_set = {1, 2, 3, 4, 5, 6} |
| num_set.discard(7) |
| print(num_set) |
[3]pop()
| num_set = {1, 2, 3, 4, 5, 6} |
| num_set.pop() |
| print(num_set) |
(4)集合操作
[1]union()并集
| num_set = {1, 2, 3, 4, 5, 6} |
| num_set_two = {2, 3, 7, 8} |
| union_set = set.union(num_set, num_set_two) |
| print(union_set) |
[2]intersection()交集
| num_set = {1, 2, 3, 4} |
| num_set_two = {2, 3, 7, 8} |
| union_set = set.intersection(num_set, num_set_two) |
| print(union_set) |
[3]difference()差集
| num_set = {1, 2, 3, 4} |
| num_set_two = {2, 3, 7, 8} |
| union_set = set.difference(num_set, num_set_two) |
| print(union_set) |
(5)成员运算
- 虽然集合是无序的,但是不影响判断元素在不在集合里面,在就是True,不在就是False
| num_set = {1, 2, 3} |
| print(1 in num_set) |
(6)循环
| num_set = {1, 2, 3, 'heart'} |
| for i in num_set: |
| print(i) |
| |
| |
| |
| |
(7)计算长度 len()
| num_set = {1, 2, 3, 'heart'} |
| print(len(num_set)) |
【九】数据类型总结
- 能索引取值:字符串 / 列表 / 元组
- 能键取值:字典
- 能变化的:列表 / 字典
- 不能变化的: 数字类型 / 字符串 / 集合 / 元组
【十】判断类型
(1)判断数字类型 isdigit()
- isdigit只对只包含数字0-9的字符串返回True
| num1='3' |
| print(num1.isdigit()) |
(2)判断小数类型 isdecimal()
| num1='3' |
| print(num1.isdecimal()) |
(3)判断数字类型 isnumeric()
- isnumeric在包含任何数字字符时返回True
| num1='3' |
| print(num1.isnumeric()) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步