数据类型的内置方法(补充)

内容概要

针对上一期没有说完的内容进行补充 主要是数据类型的内置方法

1. 字符串其他内置方法(较多)

  • 大小写
    例:
    name = 'JaSOn'
    转全大写:
    关键词:upper
    print(name.upper())
    结果:
    name = 'JASON'
    image

转全小写
关键词:lower
print(name.lower())
结果:
name = 'jason'
image

2. 判断字符串是否以指定的字符开头

关键词:startswith
例:
image

3. 判断字符是否以指定的字符结尾

关键词:endswith
例:
image

4. 格式化输出

关键词:format

  • 作用相当于占位符
    直接用大括号
    例:
    s1 = 'my name is {} my age is {}'
    print(s1.format('jason',18))
    结果:
    my name is jason my age is 18
    image

  • 大括号内写索引值可以打破顺序 并且可以反复使用相同位置的数据
    image

  • 大括号内写变量名
    image

5.字符串的拼接

  • 字符串相加
    print('hello' + 'world')
    image

  • join方法
    name_list = ['jason', 'tony', 'kevin', 'tom', 'jack']
    print(name_list[0] + '|' + name_list[1] + '|' + name_list[2] + '|' + name_list[3] + '|' +name_list[4])
    print('|'.join(name_list))
    image

需要注意:
必须是字符串类型
image

6. 替换字符串中指定的字符

关键词:replace
s2 = 'my name is tony tony tony my age is 18'

  • 替换字符串中所有的tony>>>jason
    rint(s2.replace('tony', 'jason'))
    结果:
    my name is jason jason jason my age is 18
    image

  • 替换指定个数的文本
    print(s2.replace('tony', 'jason', 1))
    结果:
    my name is jason tony tony my age is 18
    image

7. 判断字符串中是否是纯数字

关键词:isdigit
s3 = 'my age is 18'
print(s3.isdigit())
结果:
Flase
image

s4 = '123'
print(s4.isdigit())
结果:
True
image

8. 字体格式相关

  • 所有单词首字母大写
    关键词:title
    s5 = 'my name is jason my age is 18'
    print(s5.title())
    结果:
    My Name Is Jason My Age Is 18
    image

  • 开头的单词首字母大写
    关键词:capitalize
    print(s5.capitalize())
    结果:
    My name is jason my age is 18
    image

  • 大小写互换
    关键词:swapcase
    s6 = 'JaSOn iS Sb'
    print(s6.swapcase())
    结果:
    jAsoN Is sB
    image

  • 查看指定字符对应的起始索引值
    关键词:find
    s7 = 'my name is jack sb sb sb somebody sb sb sb sb sone sb sone'
    print(s7.find('s'))
    结果:
    image

print(s7.find('w'))
找不到返回结果-1
image

print(s7.index('w'))
找不到直接报错
image

  • 统计某个字符出现的次数
    关键词:count
    s7 = 'my name is jack sb sb sb somebody sb sb sb sb sone sb sone'
    print(s7.count('sb'))
    结果:
    image

9.列表基本方法

格式:
数据类型关键字+(需要转换的数据)
list关键字可以将支持for循环的数据类型转换成列表
print(list('hello')) 返回:['h', 'e', 'l', 'l', 'o']
print(list({'username': 'jason', 'pwd': 123})) 返回: ['username', 'pwd']
print(list((11, 22, 33))) 返回: [11, 22, 33]
print(list({11, 22, 33})) 返回: [33, 11, 22]
image

10. 列表修改、添加数据

  • 修改值
    通过索引修改
    name_list = ['jason', 'kevin', 'tony', 'jack']
    name_list[0] = 555
    print(name_list)
    结果:
    [555, 'kevin', 'tony', 'jack']
    image

  • 添加值
    1.尾部追加
    关键词:append
    将括号内的数据当成一个整体追加到列表末尾
    name_list = ['jason', 'kevin', 'tony', 'jack']
    name_list.append(555)
    print(name_list)
    结果:
    ['jason', 'kevin', 'tony', 'jack', 555]
    image

name_list.append([666, 777, 888, 999])
print(name_list)
结果:
['jason', 'kevin', 'tony', 'jack', [666, 777, 888, 999]]
image

2.插入元素
关键词:insert
将括号内的数据当成一个整体插入到索引指定位置
name_list = ['jason', 'kevin', 'tony', 'jack']
name_list.insert(0, 'heiheihei')
print(name_list)
结果:
['heiheihei', 'jason', 'kevin', 'tony', 'jack']

name_list.insert(2, 'heiheihei')
print(name_list)
结果:
['heiheihei', 'jason', 'heiheihei', 'kevin', 'tony', 'jack']
image

name_list = ['jason', 'kevin', 'tony', 'jack']
name_list.insert(0, [11, 22, 33])
print(name_list)
结果:
[[11, 22, 33], 'jason', 'kevin', 'tony', 'jack']
image

3.扩展元素
关键词:extend
相当于for循环+append操作
name_list = ['jason', 'kevin', 'tony', 'jack']
name_list.extend([111, 222, 333, 444, 555])
print(name_list)
结果:
['jason', 'kevin', 'tony', 'jack', 111, 222, 333, 444, 555]
image

使用for循环
l1 = [111, 222, 333, 444, 555]
l2 = [1, 2, 3, 4, 5]
for i in l2:
l1.append(i) # 将l2中元素追加到l1末尾
print(l1)
结果:
[111, 222, 333, 444, 555, 1, 2, 3, 4, 5]
image

11.列表删除数据

  • 通用删除方式
    关键词:del
    name_list = ['jason', 'kevin', 'tony', 'jack']
    del name_list[1]
    print(name_list)
    结果:
    ['jason', 'tony', 'jack']
    image

  • 括号内指定需要移除的元素值
    关键词:remove
    name_list.remove('jason')
    print(name_list)
    结果:
    ['kevin', 'tony', 'jack']
    image

  • 括号内指定需要弹出的元素索引值 括号内如果不写参数则默认弹出列表尾部元素
    关键词:pop
    name_list.pop(1)
    print(name_list)
    结果:
    ['jason', 'tony', 'jack']
    按指定的索引值弹出
    image

name_list.pop()
print(name_list)
结果:
['jason', 'kevin', 'tony']
默认弹出最右边的字符
image

print(name_list.pop())
结果:
jack
此处直接打印被弹出的结果
image

12.可变类型与不可变类型

可变类型 >>> 列表
值改变 内存地址不变 修改的是原值

不可变类型 >>> 整型 浮点型 字符串
值改变 内存地址肯定变 其实是产生了新值
关键词:
remove--删除 之后无法再打印出来
pop---弹出 之后还可以被打印出来

name_list = ['jason', 'kevin', 'tony', 'jack']
print(id(name_list))
print(name_list.remove('jason')) # 这里是打印被执行的步骤
print(name_list) # ['kevin', 'tony', 'jack']
print(id(name_list))
结果:
2684099118920
None
['kevin', 'tony', 'jack']
2684099118920
image

name_list = ['jason', 'kevin', 'tony', 'jack']
print(id(name_list))
2120787511112

name_list.append(123)
print(name_list)
print(id(name_list))
结果:
['jason', 'kevin', 'tony', 'jack', 123]
2120787511112
地址不变 只是在原先在内存空间中申请的一块区域当中再腾挪出一点地方放'123'
image

posted @ 2021-11-08 19:36  Deity_JGX  阅读(40)  评论(0编辑  收藏  举报