python字符串操作

# 查看数据类型
# 可以通过 type函数 查看指定数据类型
type('张三')  # <class 'str'>

# 可以使用 str() 内置函数将其他类型的数据转换为字符串
num = 42
result = str(num)
print(result)  # '42'
pi = 3.14159
result = str(pi)
print(result)  # '3.14159'
c = complex(2, 3)
result = str(c)
print(result)  # '(2+3j)'

# 字符串索引
my_string = "Hello World!"
print(my_string[0])  # H
print(my_string[6])  # W
my_list = "12345"
print(my_list[-1])  # 5
print(my_list[-3])  # 3

# 字符串切片
my_string = "Hello World"
# 获取 'Hel'
print(my_string[0:3])
# 获取 'lo W'
print(my_string[3:7])
# 获取 'rld'
print(my_string[-3:])
result0 = my_string[::-1]  # 'dlroW olleH'
result1 = my_string[::-2]  # 'drWolH'
result2 = my_string[-1:-3:-1]  # 'dl'
result3 = my_string[-1:2:-1]  # 'dlroW ol'

# count:查找指定元素在字符串中出现的次数
str1 = 'addfbcvfd'
print(str1.count('d'))  # 3

# index: 查找指定元素第一次出现的位置下标 - 找不到报错
str2 = 'qwert帅哈yuil哈哈'
print(str2.index('哈'))  # 6
print(str2.index('放'))  # ValueError:substring not found(值错误:未找到子字符串)

# find: 查找指定元素第一次出现的位置下标 - 找不到返回 (-1)
str2 = 'qwert帅哈yuil哈哈'
print(str2.find('哈'))  # 6
print(str2.find('放'))  # -1

# isdigit: 判断字符串是否由纯数字构成
str3 = '12345'
str4 = '12345hasd'
str5 = 'drthasd'
print(str3.isdigit())  # True
print(str4.isdigit())  # False
print(str5.isdigit())  # False

# isalpha: 判断字符串是否由纯字符构成
str3 = '12345'
str4 = '12345hasd'
str5 = 'drthasd'
print(str3.isalpha())  # False
print(str4.isalpha())  # False
print(str5.isalpha())  # True

# endswith: 判断字符串结束位置字符是否是指定字符
str6 = 'axiba'
print(str6.endswith('ba'))  # True
print(str6.endswith('aa'))  # False

# startswith: 判断字符串开始位置字符是否是指定字符
str6 = 'axiba'
print(str6.startswith('ax'))  # True
print(str6.endswith('aa'))  # False

# islower: 判断字符串中(英文字符)是否为纯小写
str7 = 'qqwee哈哈'
str8 = 'qQwee哈哈'
print(str7.islower())  # True
print(str8.islower())  # False

# isupper: 判断字符串中(英文字符)是否为纯大写
str7 = 'qqwee哈哈'
str8 = 'qQwee哈哈'
str9 = 'QWERT哈哈'
print(str7.isupper())  # False
print(str8.isupper())  # False
print(str9.isupper())  # True

# split: 切割字符串
str10 = 'hello world'
data_1 = str10.split('o')
print(data_1)  # ['hell', ' w', 'rld']

# strip:去除字符串开头与结尾的空格
str12 = ' sdfg '
data_3 = str12.strip()
print(data_3)  # sdfg

# lstrip:去除左边空格
str13 = ' shuai'
print(len(str13))  # 原字符串长度:7
data_4 = str13.lstrip()
print(len(data_4))  # 改变后字符串长度: 5

# rstrip:去除右边空格
str14 = 'shushu '
print(len(str14))  # 改变前字符串长度: 7
data_5 = str14.rstrip()
print(len(data_5))  # 改变后字符串长度: 6

# upper: 小写改大写
str15 = 'qrtyQWE帅123'
data_6 = str15.upper()
print(data_6)  # QRTYQWE帅123

# lower: 大写改小写
str16 = 'qrtyQWE帅123'
data_7 = str16.lower()
print(data_7)  # qrtyqwe帅123

# capitalize: 字符串首字母大写
str17 = 'hello 帅hi english'
data_8 = str17.capitalize()
print(data_8)  # Hello 帅hi english

# title: 字符串里面单词首字母大写
str18 = 'hello 帅hi english'
data_9 = str18.title()
print(data_9)  # Hello 帅Hi English

# replace:替换
str19 = 'shuju真的很帅哈!学习的快乐 哈哈哈哈'
data_10 = str19.replace('哈', '-')  # shuju真的很帅-!学习的快乐 ----

# 拼接符: +
str_1 = '你很'
str_2 = '帅'
splicing = str_1 + str_2
print(splicing)  # 你很帅

# 占位符:%s
str_3 = '18'
# 有几个占位符就得传几个字符串进去
placeholder = '%s今年%s岁' % ('小明', str_3)
print(placeholder)  # 小明今年18岁

# join方法
str_4 = '帅'
str_5 = '真的'
str_6 = '他'
join_merge = '-'.join([str_6, str_5, str_4])
print(join_merge)  # 他-真的-帅

# format方法
str_4 = '帅吗?'
str_5 = '真的'
str_6 = '他'
# 默认位置 1对1
format_merge_1 = '{}{}很{}'.format(str_6, str_5, str_4)
print(format_merge_1)  # 他真的很帅吗?

# 1. %s 占位符
print('%s' % '帅')
# 2. %r 显示原数据类型
print('%r' % '帅')
# %d 整数
print('%d' % 1)
# %f 浮点数
print('%f' % 2.1)
# %c ASCII
print('%c' % 65)
# %o 8进制
print('%o' % 11)
# %x 16进制
print('%x' % 11)
# %e 科学计数法
print('%e' % 10.3)
# -: 左对齐 6:这位置指定长度 3:这位置指定小数点后面保留多少位
print('%-6.3f' % 10.3)  # 优先满足小数点后几位数
# +:显示正号
print('%+6.3f' % 10.3)  # 优先满足小数点后几位数
# 格式化长度
print('%5s' % 'ab')  # ab

# 格式化长度
print('%5s' % 'ab')  # ab
# format扩展
# 保留小数点后两位
a1 = '{:.2f}'.format(12.333)
print(a1)
# 指定传入,保留小数点后两位
a2 = '{s:.2f}'.format(s=12.333)
print(a2)
# 百分比格式化
a3 = '{:.2%}'.format(0.333)
print(a3)  # 33.30%
# 转十六进制
a4 = '{:x}'.format(20)
print(a4)
# 转八进制
a6 = '{:o}'.format(20)
print(a6)
# 左对齐,长度为10
a7 = '{a:<10}'.format(a=12.3, b=13.44)
print(a7)
# 传入数据长度不足,用x填充
a8 = '{a:x<10}'.format(a=12.3, b=13.44)
print(a8)
# 右对齐
a9 = '{a:>10}'.format(a=12.3, b=13.44)
print(a9)
# 两边对齐
a10 = '{a:^10}'.format(a=12.3, b=13.44)
print(a10)
  • 13
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值