数据类型内置方法

发布时间 2023-12-03 14:32:24作者: ssrheart

数据类型内置方法介绍

  • 八大基本数据类型
    • 数字类型
      • 整形(int)
      • 浮点型(float)
    • 字符串(str)
    • 列表(list)
    • 元组(tuple)
    • 布尔(bool)
    • 字典(dict)
    • 集合(set)

【一】整型(int)

(1)类型强转

  • 可以将由纯整数构成的字符串直接转换成整型
    • 符合int类型格式的字符串可以强转成整数类型
num = '123'
print(num, type(num))  # 123 <class 'str'>
print(int(num), type(int(num)))  # 123 <class 'int'>
  • 十进制数转为其他进制
# bin() 十进制转二进制
# oct() 十进制转八进制
# hex() 十进制转十六进制
print(bin(999))
  • 其他进制转为十进制
    • 二进制(以'0b'或者'0B'开头)
    • 八进制(以'0o'或者'0O'开头)
    • 十六进制(以'0x'或者'0X'开头)
# int() 其他进制转为十进制
print(int('0b11100',2))
print(int('0o1747',8))
print(int('0x3e7',16))

【二】浮点类型(float)

(1)类型强转

  • 符合float类型格式的字符串可以强转成浮点类型
num = '18.0'
print(num, type(num))  # 18.0 <class 'str'>
print(float(num), type(float(num)))  # 18.0 <class 'float'>

(2)取整-round

  • 四舍五入---round
print(round(3.5)) # 4
print(round(4.0)) # 4

【三】字符串类型(str)

(1)索引取值

  • 只能取值不能修改
name='heart'
print(name[0]) # h

(2)字符串拼接

  • +号拼接
word1 = 'hello'
word2 = 'world'
print(word1 + ',' + word2) # hello,world
  • .join给每个字符拼接
word1 = 'hello'
print('-'.join(word1))  # h-e-l-l-o

(3)切片

  • 切片也是顾头不顾尾 [起始位置:想要的结束位置+1]
name = 'heart'
name_one = name[0] + name[1]
print(name_one)  # he

name_two = name[2:4 + 1]
print(name_two)  # art
  • 切片也可以加步长 [起始位置:想要的结束位置+1:step]
name = 'heart'
name_three = name[0:5 + 1:2]
print(name_three)  # hat
  • 从指定索引切到最后 [起始位置::]
name = 'heart'
name_four = name[1::]
print(name_four)  # eart

(4)成员运算

  • innot in用于检查一个字符串是否包含另一个字符串
name = 'heart'
print('h' in name)  # True
print('d' in name)  # False

(5)去除空格 strip()

  • strip()方法用于去除字符串里的空格
    • lstrip()用于去除字符左边的空格
    • rstrip()用于去除字符右边的空格
name='  heart   '
print(name.strip()) # heart
  • 还可以去除指定的字符
name = '&&heart&&'
print(name.strip('&')) # heart

(6)切分 split()

  • 顾名思义就是将字符串切分成多个子字符串,并返回一个包含切分后字符串的列表
name = 'heart-425'
print(name.split('-')) # ['heart', '425']

(7)大小写转换

  • 小写转大写upper()
    • isupper()判断是否为纯大写
  • 大写转小写lower()
    • islower()判断是否为纯小写
name = 'HeArt'
print(name.upper())  # HEART
print(name.lower())  # heart

(8)首尾字符判断

  • startswith()判断当前字符以什么开头,返回bool值
  • endswith()判断当前字符以什么结尾,返回bool值
name = 'heart'
print(name.startswith('h'))  # True
print(name.startswith('e'))  # False
print(name.endswith('t'))  # True
print(name.endswith('r'))  # False

(9)替换replace

  • replace可以替换字符串中的词
title = 'my hero is heart'
print(title.replace('heart', 'godfather'))

【四】列表类型(list)

(1)类型强转

  • 字符串类型强转成列表类型的话就是将每一个元素都拿出,凑成一个列表
name = 'heart'
print(list(name))  # ['h', 'e', 'a', 'r', 't']
  • 元组类型强转成列表类型,每一个元素就是列表的元素
name_tuple = ('heart', 'godfather')
print(list(name_tuple))  # ['heart', 'godfather']
  • 集合类型强转成列表类型,每一个元素就是列表的元素
name_set = {'heart', 'godfather'}
print(list(name_set))  # ['heart', 'godfather']
  • 字典类型强转成列表类型,每一个键就是列表的元素
name_dict = {'heart': '123456', 'god': '123'}
print(list(name_dict))  # ['heart', 'god']
  • range生成新列表
print(list(range(1, 5)))  # [1, 2, 3, 4]

(2)切片

  • 顾头不顾尾
name_list = ['heart', 'god', 'zeus']
print(name_list[0:3])  # ['heart', 'god', 'zeus']
  • 步长
num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(num_list[0:8:2])  # [1, 3, 5, 7]

(3)计算长度 len

num_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(len(num_list))  # 9

(4)增加

[1]append()

  • 在结尾进行增加,只允许每次加一个元素
num_list = [1, 2, 3, 4, 5, 6]
num_list.append(11)
print(num_list)  # [1, 2, 3, 4, 5, 6, 11]

[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)  # [1, 2, 3, 4, 5, 6, 11, 22, 33, 99, 88, 77, 'name', 'age']

[3]insert()

  • 按指定位置添加
num_list = [1, 2, 3, 4, 5, 6]
num_list.insert(1, 'a')
print(num_list)  # [1, 'a', 2, 3, 4, 5, 6]

(5)删除

[1]del

  • 删除指定索引的元素
num_list = [1, 2, 3]
del num_list[0]
print(num_list) # [2, 3]

[2]pop()

  • 默认删除列表最后一个元素,并将删除的值返回
num_list = [1, 2, 3]
a = num_list.pop()
print(a) # 3
print(num_list) # [1, 2]

[3]remove()

  • 指名道姓删除括号内的元素,没有返回值
  • 与pop不同,pop是通过索引值来删除的
num_list = [1, 2, 3, 'heart']
num_list.remove('heart')
print(num_list)  # [1, 2, 3]

(6)改

  • 按照索引位置改值
num_list = [1, 2, 3]
num_list[0] = 'heart'
print(num_list)  # ['heart', 2, 3]

[1]reverse()

  • 颠倒列表内元素排列,无返回值,影响的是原来列表
num_list = [1, 2, 3, 4, 5, 6]
num_list.reverse()
print(num_list)  # [6, 5, 4, 3, 2, 1]

[2]sort()

  • sort()方法用于对列表进行排序,默认是升序
num_list = [1, 3, 5, 4, 6, 8]
num_list.sort()
print(num_list)  # [1, 3, 4, 5, 6, 8]
  • reverse=True降序排序
num_list = [1, 3, 5, 4, 6, 8]
num_list.sort(reverse=True)
print(num_list)  # [8, 6, 5, 4, 3, 1]

[3]sorted

  • sorted函数可以保留原来的列表
  • 也可以排序,默认正序,返回值就是排好序的新列表
num_list = [1, 3, 5, 4, 6, 8]
a = sorted(num_list)
print(a)  # [1, 3, 4, 5, 6, 8]
print(num_list)  # [1, 3, 5, 4, 6, 8]

【五】判断类型

  • 这三个方法都无法判断浮点数

(1)判断数字类型 isdigit()

  • isdigit只对只包含数字0-9的字符串返回True
num1='3'
print(num1.isdigit()) # True

(2)判断小数类型 isdecimal()

num1='3'
print(num1.isdecimal()) # True

(3)判断数字类型 isnumeric()

  • isnumeric在包含任何数字字符时返回True
num1='3'
print(num1.isnumeric()) # True