字符串

本文详细介绍了Python字符串的常见操作,包括ord()和chr()的使用、字符串连接、复制、格式化输出、字符串方法如strip()、center()、大小写转换等,并探讨了字符串的不可变性和驻留机制。此外,还展示了如何使用split()和join()进行字符串分割与合并。通过对这些基础知识的掌握,读者能更深入理解Python字符串处理。
摘要由CSDN通过智能技术生成
# 字符串的编码 ord()可以把字符转换成对应的Unicode码 chr()可以把十进制数字转换成对应的字符。
print(ord('A'))
print(chr(66))

b = 'my_name is "TOM"'
print(b)

c = ''
print(len(c))

# 1. 可以使用+将多个字符串拼接起来。连接多个字符串,使用 join()而不使用+
# (1) 如果+两边都是字符串,则拼接。
# (2) 如果+两边都是数字,则加法运算。
# (3) 如果+两边类型不同,则抛出异常。
a = 'sx'+'wyy'
b = 'sx''wyy'

# 字符串复制
a = 'wyy' * 3
print(a)

# 打印
print("sx", end=' ')
print("sx", end='##')
print("sx")

# name = input("请输入名字:")
# print(name)

# str()可以帮助我们将其他数据类型转换为字符串
str(5.20)  # ‘5.20’

# 字符串不可改变。但是,我们确实有时候需要替换某些字符。这时,只能通过创建新的字符串来实现。
a = 'abcdefghijklmnopqrstuvwxyz'
a = a.replace('c', '高')
# 需要原地修改字符串,可以使用 io.StringIO对象或 array 模块。
import io
s = "hello, sx"
sio = io.StringIO(s)
sio.getvalue()
sio.seek(7)  # 让指针移动到指定位置
sio.write("g")

# split()分割(存储到列表中)
a = "to be or not to be"
a.split()    # ['to', 'be', 'or', 'not', 'to', 'be']
a.split('be')    # ['to ', ' or not to ', '']
# join()合并 连接多个字符串,使用 join()而不使用+
a = ['sxt', 'sxt100', 'sxt200']
'*'.join(a)   # 'sxt*sxt100*sxt200'

# 字符串驻留 对于符合标识符规则的字符串(仅包含下划线(_)、字母和数字)会启用字符串驻留机制驻留机制。
a = "abd_33"
b = "abd_33"
a is b   # Ture
c = "dd#"
d = "dd#"
c is d    # False

str1 = "aa"
str2 = "bb"
str1+str2 is "aabb"   # False 我们使用 is / not is,判断两个对象是否同一个对象
str1+str2 == "aabb"   # True  我们可以直接使用==,!=对字符串进行比较,是否含有相同的字符

# in /not in 关键字,判断某个字符(子字符串)是否存在于字符串中

# 去除首尾信息
"*s*x*t*".strip("*")  # 's*x*t'
"*s*x*t*".lstrip("*")  # 's*x*t*'
"*s*x*t*".rstrip("*")  # '*s*x*t'
" sxt ".strip()       # 'sxt'

# 大小写转换
a.capitalize()  # 产生新的字符串,首字母大写
a.title()   # 产生新的字符串,每个单词都首字母大写
a.upper()   # 产生新的字符串,所有字符全转成大写
a.lower()   # 产生新的字符串,所有字符全转成小写
a.swapcase()  # 产生新的,所有字母大小写转换

# 格式排版
a = "SXT"
a.center(10, "*")  # '***SXT****'
a.center(10)   # ' SXT '
a.ljust(10, "*")   # 'SXT*******'


# 1. isalnum() 是否为字母或数字
# 2. isalpha() 检测字符串是否只由字母组成(含汉字)。
# 3. isdigit() 检测字符串是否只由数字组成。
# 4. isspace() 检测是否为空白符
# 5. isupper() 是否为大写字母
# 6. islower() 是否为小写字母

# format()基本用法
a = "名字是:{0},年龄是:{1}"
a.format("wyy", 18)
c = "名字是{name},年龄是{age}"
c.format(age=19, name='高高')

# 数字格式化 浮点数通过 f,整数通过 d 进行需要的格式化。
a = "我是{0},我的存款有{1:.2f}"
a.format("张三", 3888.234342)  # '我是张三,我的存款有 3888.23'
# 3.1415926 {:.2f} 3.14 保留小数点后两位
# 3.1415926 {:+.2f} 3.14 带符号保留小数点后两位
# 2.71828 {:.0f} 3 不带小数
# 5 {:0>2d} 05 数字补零 (填充左边, 宽度为 2)
# 5 {:x<4d} 5xxx 数字补 x (填充右边, 宽度为 4)
# 10 {:x<4d} 10xx 数字补 x (填充右边, 宽度为 4)
# 1000000 {:,} 1,000,000 以逗号分隔的数字格式
# 0.25 {:.2%} 25.00% 百分比格式
# 1000000000 {:.2e} 1.00E+09 指数记法
# 13 {:10d} 13 右对齐 (默认, 宽度为 10)
# 13 {:<10d} 13 左对齐 (宽度为 10)
# 13 {:^10d} 13 中间对齐 (宽度为 10)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AloneDrifters

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值