Python-字符串
字符串
字符串表示方式
- 普通字符串 -
'XXX'
或"XXX"
- 原始字符串 -
r"XXX"
- 长字符串 -
'''XXX'''
或"""XXX"""
字符串与数字类型的转换
-
int()
和float()
将字符串和其他进制的数字转换为十进制数字.int("ab", base=16) # 171 int("80.0") # 发生错误 int(0b11) # 非字符串不需要基数base float("80.0") # 80.0 float(0b11) # 3.0 -
str()
可以将很多类型的数据都转换为字符串.str(123) # '123' str(True) # 'True'
字符串格式化
-
format()
实现字符串的拼接, 还可以格式化字符串.将表达式的计算结果插入字符串中需要用到占位符
{}
.-
默认占位符
-
参数序号占位符
-
参数名占位符
a = 2 b = 3 s = "a * a = {}".format(a * a) # s = 'a * a = 4' s = "{0} * {0} = {1}".format('a', a * a) # s = 'a * a = 4' s = "{p1} * {p2} = {p3}".format(p1 = a, p2 = b, p3 = a * b) # s = '2 * 3 = 6' - 格式化控制符 - 形如
{1:d}
, 中间不含空格.
name = "张三" money = 74659.15 s = "{0:s}年龄{1:d}, 工资是{2:f}元. ".format(name, 20, money) # s = '张三年龄20, 工资是74659.150000元. ' s = "{0:s}年龄{1:d}, 工资是{2:0.3f}元. ".format(name, 20, money) # s = '张三年龄20, 工资是74659.150元. ' print("十进制数{0:d}用十六进制表示为{0:x}".format(11)) # 十进制数11用十六进制表示为b print("十进制数{0:d}用十六进制表示为{0:X}".format(15)) # 十进制数15用十六进制表示为F -
格式控制符 | 说明 |
---|---|
s | 字符串 |
d | 十进制整数 |
f, F | 十进制浮点数 |
g, G | 十进制整数或浮点数 |
e, E | 科学计数法表示浮点数 |
o | 八进制整数, 符号是小写英文字母 'o' |
x, X | 十六进制整数, 'x' 是小写表示, 'X' 是大写表示 |
操作字符串
方法 | 说明 |
---|---|
capitalize() | 将字符串的第一个字符转换为大写 |
lower() | 将所有大写字母转换为小写 |
swapcase() | 字符串中大小写转换 |
center(width, fillchar) | 返回一个宽度width的字符串, 原字符串居中, 用fillchar填充(默认为空格) |
ljust(width, fillchar) | 返回一个宽度width的字符串, 原字符串左对齐, 用fillchar填充(默认为空格) |
rjust(width, fillchar) | 返回一个宽度width的字符串, 原字符串右对齐, 用fillchar填充(默认为空格) |
zfill(width) | 返回一个宽度width的字符串, 原字符串右对齐, 用0填充 |
count(str, beg=0, end=len(string)) | 返回str在string指定范围内出现的次数 |
bytes.decode(encoding='utf-8', errors='strict') | 对bytes类进行解码 |
encode(encoding='utf-8', errors='strict') | 以指定格式编码字符串, 默认报UnicodeEncodeError异常 |
expandtabs(tabsize=8) | 把字符串中的tab符号转为空格, tab符号默认的空格数是8 |
find(str, beg=0, end=len(string)) | 在索引 [beg, end) 之间查找子字符串 sub, 如果找到, 则返回最左端位置的索引; 如果没有找到, 则返回 -1 |
rfind(str, beg=0, end=len(string)) | 从右边查找第一个子字符串 |
index(str, beg=0, end=len(string)) | 同find, 失败时会报出异常 |
rindex(str, beg=0, end=len(string)) | 同rfind, 失败时会报出异常 |
isalnum() | 如果字符串至少有一个字符, 并且所有字符都是字母或数字, 则返回True, 否则返回False |
isalpha() | 如果字符串至少有一个字符, 并且所有字符都是字母, 则返回True, 否则返回False |
isdigit() | 如果字符串只包含数字, 则返回True, 否则返回False |
isnumeric() | 如果字符串只包含数字字符, 则返回True, 否则返回False |
isdecimal() | 如果字符串只包含十进制字符, 则返回True, 否则返回False |
islower() | 如果字符串中包含至少一个区分大小写的字符, 并且所有这些字符都是小写, 则返回True, 否则返回False |
isupper() | 如果字符串中包含至少一个区分大小写的字符, 并且所有这些字符都是大写, 则返回True, 否则返回False |
isspace() | 如果字符串只包含空格, 则返回True, 否则返回False |
istitle() | 如果字符串是标题化的, 则返回True, 否则返回False |
title() | 返回标题化的字符串, 所有单词仅首字母大写 |
join(seq) | 以指定字符串作为分隔符, 将seq中的所有元素(字符串表示)合并为一个新的字符串 |
len(str) | 返回str长度 |
lstrip(chars) | 截掉字符串开头的字符, 默认为空格 |
rstrip(chars) | 截掉字符串结尾的字符 |
strip(chars) | 同时执行lstrip和rstrip |
max(str) | 返回str中最大的字母 |
min(str) | 返回str中最小的字母 |
replace(old, new, max) | 将 old 子字符串替换为 new 子字符串, max参数指定了替换 old 子字符串的最大个数 |
split(str='', num=string.count(str)) | 以str为分隔符截取字符串 |
startswith(prefix, start=0, end=len(string)) | 字符串指定范围内是否以prefix开头 |
endswith(suffix, start=0, end=len(string)) | 字符串指定范围内是否以suffix结束 |
本文作者:khrushchefox
本文链接:https://www.cnblogs.com/khrushchefox/p/16567642.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步