发布于2021-07-25 07:39 阅读(1341) 评论(0) 点赞(2) 收藏(5)
string、list 和 tuple 都属于 sequence(序列)
Python3中,所有的字符串都是Unicode字符串(Python2中,普通字符串是以8位ASCII码进行存储)
Unicode字符串存储16位unicode字符串,使用时在字符串前面加上前缀 u即可
使用 单引号 ’ 或 双引号 " 来创建字符串,为变量分配一个值
tips : 单字符在 Python 中作为字符串使用
s1 = '字符串1' #单引号创建
s2 = "字符串2" #双引号创建
s2 = "s" #单字符在py中作为字符串使用
没有单独的字符类型,一个字符就是长度为 1 的字符串(不区分单字符与多字符)
单引号 ’ 或双引号 " 括起来表示字符串(单引号和双引号使用完全相同)
使用三引号(’’’ 或 “”")可以指定一个多行字符串,反斜杠\也可以作为续行符
字符串不能改变,比如向一个索引位置赋值,word[0] = ‘m’ 会导致错误
word = '字符串'
sentence = "这是一个句子。"
paragraph = """这是一个段落,
可以由多行组成"""
字符串截取:
变量[头下标:尾下标]
变量[头下标:尾下标:步长]两种索引方式:
从左往右,以0开始
从右往左,以-1开始
字符串连接:+
字符串复制:* n(n代表复制的次数)
级联字符串:如"this " "is " "string"会被自动转换为this is string
代码示例:
str = '123456789'
print(str) # 输出字符串
print(str[:]) # 输出所有字符
print(str[0:-1]) # 输出第一个到倒数第二个的所有字符
print(str[0]) # 输出字符串第一个字符
print(str[-6:-2]) #输出字符串倒数第六个到倒数第三个的所有字符[-6,-2)
print(str[2:5]) # 输出从第三个开始到第五个的字符[2,5)
print(str[2:]) # 输出从第三个开始后的所有字符
print(str[1:5:2]) # 输出从第二个开始到第五个且每隔一个的字符(步长为2)
print(str * 2) # 输出字符串两次
print(str + '你好') # 连接字符串
'''
输出结果:
123456789
123456789
12345678
1
4567
345
3456789
24
123456789123456789
123456789你好
'''
反斜杠 \ 转义特殊字符
转义字符 | 描述 |
---|---|
\(在行尾时) | 续行符 |
\\ | 反斜杠符号 |
\’ | 单引号 |
\" | 双引号 |
\a | 响铃(执行后电脑有响声) |
\b | 退格(Backspace) |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车,将 \r 后面的内容移到字符串开头,并逐一替换开头部分的字符,直至将 \r 后面的内容完全替换完成 |
\f | 换页 |
\yyy | 八进制数,y 代表 0~7 的字符,例如:\012 代表换行 |
\xyy | 十六进制数,以 \x 开头,y 代表的字符,例如:\x0a 代表换行 |
\other | 其它的字符以普通格式输出 |
代码示例:
print("换行符\:","line1 \
line2 \
line3")
print("空\\000:","\000")
print("纵向制表符\\v:","Hello \v World!")
print("横向制表符\\t:","Hello \t World!")
print("后面内容替换前面内容\\r:",'google runoob taobao\r123456')
print("换页","Hello \f World!")
print("八进制数:","\110\145\154\154\157\40\127\157\162\154\144\41")
print("十六进制数:","\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64\x21")
'''
输出结果:
换行符\: line1 line2 line3
空\000:
纵向制表符\v: Hello World!
横向制表符\t: Hello World!
123456
换页 Hello World!
八进制数: Hello World!
十六进制数: Hello World!
'''
使用r或者R可以让反斜杠不发生转义
代码示例:
print('hello\nrunoob') # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nrunoob') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义
print('\n') # 输出空行
print(r'\n') # 输出 \n
'''
输出结果:
hello
runoob
hello\nrunoob
\n
'''
操作符 | 描述 |
---|---|
+ | 字符串连接 |
* | 重复输出字符串 |
[] | 通过索引获取字符串中字符 |
[ : ] | 截取字符串中的一部分,左闭右开 |
in | 成员运算符,如果字符串中包含给定的字符返回 True |
not in | 成员运算符,如果字符串中不包含给定的字符返回 True |
r/R | 原始字符串,即所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符(原始字符串除在字符串的第一个引号前加上字母 r 或 R 以外,与普通字符串有着几乎完全相同的语法) |
% | 格式字符串 |
代码示例:
a = "Hello"
b = " World!"
print("a + b :", a + b)
print("a * 2 :", a * 2)
print("a[1] :", a[1])
print("a[1:4] :", a[1:4])
if ("H" in a):
print("\"H\" in a : True(H 在变量 a 中)")
else:
print("\"H\" in a : False(H 不在变量 a 中)")
if ("M" not in a):
print("\"M\" not in a : True(M 不在变量 a 中)")
else:
print("\"M\" not in a : False(M 在变量 a 中)")
print("r'\\n'不发生转义: ",r'\n')
print("R'\\n'不发生转义: ",R'\n')
'''
输出结果:
a + b : Hello World!
a * 2 : HelloHello
a[1] : e
a[1:4] : ell
"H" in a : True(H 在变量 a 中)
"M" not in a : True(M 不在变量 a 中)
r'\n'不发生转义: \n
R'\n'不发生转义: \n
'''
格式字符串:%
字符串输出格式化:将一个值插入到一个有字符串格式符 %s 的字符串中
符号 | 描述 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | %f和%e的简写 |
%G | %f 和 %E 的简写 |
%p | 用十六进制数格式化变量的地址 |
代码示例:
print ("这里是 %s ,码龄 %d 年了!" % ('入错行的北北', 1))
'''
输出结果:
这里是 入错行的北北 ,码龄 1 年了!
'''
符号 | 功能 |
---|---|
* | 定义宽度或者小数点精度 |
- | 左对齐 |
+ | 在正数前面显示加号( + ) |
< sp > | 在正数前面显示空格 |
# | 在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’) |
0 | 显示的数字前面填充’0’而不是默认的空格 |
% | ‘%%‘输出一个单一的’%’ |
(var) | 映射变量(字典参数) |
m.n. | m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) |
python3.6 之后版本添加,新的格式化字符串的语法
在 Python 3.8 的版本中可以使用 = 符号来拼接运算表达式与结果
以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去
代码示例:
name = 'World'
print('Hello %s' % name)
print(f'Hello {name}') # 替换变量
print(f'{1+2}') # 使用表达式
w = {'昵称': '入错行的北北', '码龄': '1年'}
print(f'{w["昵称"]}: {w["码龄"]}')
x = 1
print(f'{x+1}') # python 3.6
print(f'{x+1=}') # Python 3.8
'''
输出结果:
Hello World
Hello World
3
入错行的北北: 1年
2
x+1=2
'''
方法 | 描述 |
---|---|
capitalize() | 将字符串的第一个字符转换为大写 |
center(width, fillchar) | 返回一个指定宽度 并居中的字符串,fillchar 为填充的字符,默认为空格 |
ljust(width[, fillchar]) | 返回一个原字符串左对齐,fillchar 为填充的字符,默认为空格 |
rjust(width,[, fillchar]) | 返回一个原字符串右对齐,fillchar 为填充的字符,默认为空格 |
zfill (width) | 返回长度为 width 的字符串,原字符串右对齐 |
count(str, beg= 0,end=len(string)) | 用于统计字符串里某个字符出现的次数,可选参数为在字符串搜索的开始与结束位置 |
bytes.decode(encoding=“utf-8”, errors=“strict”) | 以指定的编码格式解码 bytes 对象,默认编码为 ‘utf-8’ |
encode(encoding=‘UTF-8’,errors=‘strict’) | 以指定的编码格式编码字符串,errors参数可以指定不同的错误处理方案 |
endswith(suffix, beg=0, end=len(string)) | 判断字符串是否以指定后缀结尾 |
startswith(substr, beg=0,end=len(string)) | 检查字符串是否是以指定子字符串开头 |
expandtabs(tabsize=8) | 把字符串中的 tab 符号 \t (默认8个空格)转为空格 |
find(str, beg=0, end=len(string)) | 检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内 |
rfind(str, beg=0,end=len(string)) | 类似于find()函数,不过从右边开始查找 |
index(str, beg=0, end=len(string)) | 与find()方法大致一样,但是如果str不在字符串中会报异常 |
rindex( str, beg=0, end=len(string)) | 类似于 index(),不过从右边开始 |
isalnum() | 检测字符串是否由字母和数字组成 |
isalpha() | 检测字符串是否只由字母或文字组成 |
isdigit() | 检测字符串是否只由**数字(纯数字)**组成 |
isnumeric() | 检测字符串是否只由数字组成 |
islower() | 检测字符串中的字母是否都是小写字母 |
isupper() | 检测字符串中的字母是否都是大写字母 |
isspace() | 检测字符串是否只由空白字符组成 |
title() | 返回"标题化"的字符串,所有单词都是首字母大写、其余字母为小写 |
istitle() | 检测字符串中所有的单词拼写是否为首字母大写、其余字母为小写 |
join(seq) | 用于将序列中的元素以指定的字符连接生成一个新的字符串 |
len(string) | 返回对象(字符、列表、元组等)长度或项目个数 |
lower() | 字符串中所有大写字符转换为小写 |
upper() | 字符串中的小写字母转换为大写 |
swapcase() | 将字符串中大写转换为小写,小写转换为大写 |
lstrip() | 删除字符串左边的空格或指定字符 |
rstrip() | 删除字符串末尾的空格或指定字符 |
strip([chars]) | 在字符串上执行 lstrip()和 rstrip() |
maketrans() | 创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标 |
translate(table, deletechars="") | 根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中 |
max(str) | 返回字符串 str 中最大的字母 |
min(str) | 返回字符串 str 中最小的字母 |
replace(old, new [, max]) | 把 将字符串中的 old 替换成 new,替换不超过 max 次 |
split(str="", num=string.count(str)) | 以 str 为分隔符分割字符串,如果 num 有指定值,则仅分割 num+1 个子字符串 |
splitlines([keepends]) | 按照行(’\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符 |
isdecimal() | 检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false |
将字符串的第一个字符转换为大写,其它字母小写
str.capitalize()
代码示例:
str = "hello WORLD!"
print ("str.capitalize() : ", str.capitalize())
'''
输出结果:
str.capitalize() : Hello world!
'''
返回一个指定宽度 并居中的字符串,fillchar 为填充的字符,默认为空格
str.center(width[, fillchar])
代码示例:
str = "[hello]"
print ("str.center(4 ) : ", str.center(4))
print ("str.center(40 ) : ", str.center(40))
print ("str.center(40, '*') : ", str.center(40, '*'))
'''
输出结果:
str.center(4 ) : [hello]
str.center(40 ) : [hello]
str.center(40, '*') : ****************[hello]*****************
'''
返回一个原字符串左对齐,fillchar 为填充的字符,默认为空格
str.ljust(width[, fillchar])
代码示例:
str = "[hello]"
print ("str.center(4 ) : ", str.ljust(4))
print ("str.center(40 ) : ", str.ljust(40))
print ("str.center(40, '*') : ", str.ljust(40, '*'))
'''
输出结果:
str.center(4 ) : [hello]
str.center(40 ) : [hello]
str.center(40, '*') : [hello]*********************************
'''
返回一个原字符串右对齐,fillchar 为填充的字符,默认为空格
str.rjust(width[, fillchar])
代码示例:
str = "[hello]"
print ("str.center(4 ) : ", str.rjust(4))
print ("str.center(40 ) : ", str.rjust(40))
print ("str.center(40, '*') : ", str.rjust(40, '*'))
'''
输出结果:
str.center(4 ) : [hello]
str.center(40 ) : [hello]
str.center(40, '*') : *********************************[hello]
'''
返回长度为 width 的字符串,原字符串右对齐
width小于字符串宽度直接返回字符串,否则前面填充0
str.zfill(width)
代码示例:
str = "hello world!"
print ("str.zfill : ",str.zfill(2))
print ("str.zfill : ",str.zfill(20))
'''
输出结果:
str.zfill : hello world!
str.zfill : 00000000hello world!
'''
用于统计字符串里某个字符出现的次数,可选参数为在字符串搜索的开始与结束位置
str.count(sub, start= 0,end=len(string))
代码示例:
str="Hello world!"
sub='o'
print ("str.count('o') : ", str.count(sub))
print ("str.count('o', 3, 5) : ", str.count(sub,3,5))
sub='run'
print ("str.count('run') : ", str.count(sub))
'''
输出结果:
str.count('o') : 2
str.count('o', 3, 5) : 1
str.count('run') : 0
'''
以指定的编码格式解码 bytes 对象,默认编码为 ‘utf-8’
bytes.decode(encoding=“utf-8”, errors=“strict”)
代码示例:
str = "入错行的北北";
str_utf8 = str.encode("UTF-8")
str_gbk = str.encode("GBK")
print(str)
print("UTF-8 编码:", str_utf8)
print("GBK 编码:", str_gbk)
print("UTF-8 解码:", str_utf8.decode('UTF-8', 'strict'))
print("GBK 解码:", str_gbk.decode('GBK', 'strict'))
'''
输出结果:
入错行的北北
UTF-8 编码: b'\xe5\x85\xa5\xe9\x94\x99\xe8\xa1\x8c\xe7\x9a\x84\xe5\x8c\x97\xe5\x8c\x97'
GBK 编码: b'\xc8\xeb\xb4\xed\xd0\xd0\xb5\xc4\xb1\xb1\xb1\xb1'
UTF-8 解码: 入错行的北北
GBK 解码: 入错行的北北
'''
以指定的编码格式编码字符串,errors参数可以指定不同的错误处理方案
str.encode(encoding=‘UTF-8’,errors=‘strict’)
代码示例:
str = "入错行的北北";
str_utf8 = str.encode("UTF-8")
str_gbk = str.encode("GBK")
print(str)
print("UTF-8 编码:", str_utf8)
print("GBK 编码:", str_gbk)
print("UTF-8 解码:", str_utf8.decode('UTF-8', 'strict'))
print("GBK 解码:", str_gbk.decode('GBK', 'strict'))
'''
输出结果:
入错行的北北
UTF-8 编码: b'\xe5\x85\xa5\xe9\x94\x99\xe8\xa1\x8c\xe7\x9a\x84\xe5\x8c\x97\xe5\x8c\x97'
GBK 编码: b'\xc8\xeb\xb4\xed\xd0\xd0\xb5\xc4\xb1\xb1\xb1\xb1'
UTF-8 解码: 入错行的北北
GBK 解码: 入错行的北北
'''
判断字符串是否以指定后缀结尾
str.endswith(suffix[, start[, end]])
代码示例:
Str='Hello!! world!!'
suffix='!!'
print (Str.endswith(suffix))
print (Str.endswith(suffix,5,7))
suffix='beibei'
print (Str.endswith(suffix))
print (Str.endswith(suffix, 0, 19))
'''
输出结果:
True
True
False
False
'''
检查字符串是否是以指定子字符串开头
str.startswith(substr, beg=0,end=len(string));
代码示例:
Str='!!Hello!! world!!'
suffix='!!'
print (Str.startswith(suffix))
print (Str.startswith(suffix,7))
suffix='beibei'
print (Str.startswith(suffix))
print (Str.startswith(suffix, 0, 19))
'''
输出结果:
True
True
False
False
'''
把字符串中的 tab 符号 \t (默认8个空格)转为空格
在第 0、8、16…等处给出制表符位置,如果当前位置到开始位置或上一个制表符位置的字符数不足 8 的倍数则以空格代替
str.expandtabs(tabsize=8)
代码示例:
str = "Hello\tworld\t!!"
print('原始字符串:', str)
# 默认 8 个空格
print('替换 \\t 符号:', str.expandtabs())
# 2 个空格
print('使用 2 个空格替换 \\t 符号:', str.expandtabs(2))
# 3 个空格
print('使用 3 个空格:', str.expandtabs(3))
# 4 个空格
print('使用 4 个空格:', str.expandtabs(4))
# 5 个空格
print('使用 5 个空格:', str.expandtabs(5))
# 6 个空格
print('使用 6 个空格:', str.expandtabs(6))
'''
输出结果:
原始字符串: Hello world !!
替换 \t 符号: Hello world !!
使用 2 个空格替换 \t 符号: Hello world !!
使用 3 个空格: Hello world !!
使用 4 个空格: Hello world !!
使用 5 个空格: Hello world !!
使用 6 个空格: Hello world !!
'''
检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内
str.find(str, beg=0, end=len(string))
代码示例:
str1 = "Hello world!!!"
str2 = "world";
print(str1.find(str2))
print(str1.find(str2, 5))
print(str1.find(str2, 10))
'''
输出结果:
6
6
-1
'''
类似于find()函数,不过从右边开始查找
str.rfind(str, beg=0 end=len(string))
代码示例:
str1 = "~~ hello hello world!"
str2 = "hello"
print (str1.find(str2)) #从左开始找第一个
print (str1.rfind(str2)) #从右开始找第一个
print (str1.find(str2, 0, 10))
print (str1.rfind(str2, 0, 10))
print (str1.find(str2, 10, 0))
print (str1.rfind(str2, 10, 0))
'''
输出结果:
3
9
3
3
-1
-1
'''
与find()方法大致一样,但是如果str不在字符串中会报异常
str.index(str, beg=0, end=len(string))
代码示例:
str1 = "Hello world!!!"
str2 = "world";
print(str1.index(str2))
print(str1.index(str2, 5))
print(str1.index(str2, 10))
'''
输出结果:
Traceback (most recent call last):
File "D:\PythonProject\HelloWorld\HelloWorld.py", line 6, in <module>
print(str1.index(str2, 10))
ValueError: substring not found
6
6
'''
类似于 index(),不过从右边开始
str.rindex(str, beg=0, end=len(string))
代码示例:
str1 = "hello hello world!!!"
str2 = "hello";
print(str1.rindex(str2))
print(str1.rindex(str2, 5))
'''
输出结果:
6
6
'''
检测字符串是否由字母和数字组成
str.isalnum()
代码示例:
str = "HelloWorld" # 字符串没有空格
print(str.isalnum())
str = "Hello World"
print(str.isalnum())
'''
输出结果:
True
False
'''
检测字符串是否只由字母或文字组成
str.isalpha()
代码示例:
str = "HelloWorld"
print (str.isalpha())
str = "入错行的北北"
print (str.isalpha())
str = "HelloWorld!"
print (str.isalpha())
str = "入错行的北北666"
print (str.isalpha())
'''
输出结果:
True
True
False
False
'''
检测字符串是否只由**数字(单纯的数字)**组成
str.isdigit()
代码示例:
str = "123456";
print (str.isdigit())
str = "HelloWorld"
print (str.isdigit())
'''
输出结果:
True
False
'''
检测字符串是否只由数字组成
数字可以是: Unicode 数字,全角数字(双字节),罗马数字,汉字数字
str.isnumeric()
代码示例:
str = "Hello World2021"
print (str.isnumeric())
str = "20 21"
print (str.isnumeric())
str = "2021"
print (str.isnumeric())
'''
输出结果:
False
False
True
'''
检测字符串中的字母是否都是小写字母
str.islower()
代码示例:
str = "Hello World!"
print (str.islower())
str = "hello world!"
print (str.islower())
str = "hello world!嘿嘿!"
print (str.islower())
'''
输出结果:
False
True
True
'''
检测字符串中的字母是否都是大写字母
str.isupper()
代码示例:
str = "HELLO WORLD!"
print (str.isupper())
str = "HELLO WORLD!嘿嘿!"
print (str.isupper())
str = "hello world!"
print (str.isupper())
'''
输出结果:
True
True
False
'''
检测字符串是否只由空白字符组成
str.isspace()
代码示例:
str = " "
print(str.isspace())
str = "Hello World!"
print(str.isspace())
'''
输出结果:
True
False
'''
返回"标题化"的字符串,所有单词都是首字母大写、其余字母为小写
非字母后的第一个字母将转换为大写字母
str.title();
代码示例:
str = "hello world!!"
print (str.title())
str = "bye 4g hello 5g"
print (str.title())
'''
输出结果:
Hello World!!
Bye 4G Hello 5G
'''
检测字符串中所有的单词拼写是否为首字母大写、其余字母为小写
str.istitle()
代码示例:
str = "Hello World!"
print(str.istitle())
str = "Hello world!"
print(str.istitle())
'''
输出结果:
True
False
'''
用于将序列中的元素以指定的字符连接生成一个新的字符串
str.join(sequence)
代码示例:
s1 = "-"
s2 = ""
seq = ("h", "e", "l", "l", "o") # 字符串序列
print (s1.join( seq ))
print (s2.join( seq ))
'''
输出结果:
h-e-l-l-o
hello
'''
返回对象(字符、列表、元组等)长度或项目个数
len( s )
代码示例:
l = [1,2,3,4,5]
print(len(l))
s = "Hello World!"
print(len(s))
'''
输出结果:
5
12
'''
字符串中所有大写字符转换为小写
str.lower()
代码示例:
str = "HELLO WORLD!"
print( str.lower() )
'''
输出结果:
hello world!
'''
字符串中的小写字母转换为大写
str.upper()
代码示例:
str = "hello world!!!";
print ("str.upper() : ", str.upper())
'''
输出结果:
str.upper() : HELLO WORLD!!!
'''
将字符串中大写转换为小写,小写转换为大写
str.swapcase();
代码示例:
str = "Hello World!!"
print (str.swapcase())
'''
输出结果:
hELLO wORLD!!
'''
删除字符串左边的空格或指定字符
str.lstrip([chars])
代码示例:
str = " Hello World!!! ";
print(str.lstrip());
str = "88888888Hello World!!!8888888";
print( str.lstrip('8') );
'''
输出结果:
Hello World!!!
Hello World!!!8888888
'''
删除字符串末尾的空格或指定字符
str.rstrip([chars])
代码示例:
str = " Hello World!!! ";
print(str.rstrip());
str = "88888888Hello World!!!8888888";
print( str.rstrip('8') );
'''
输出结果:
Hello World!!!
88888888Hello World!!!
'''
在字符串上执行 lstrip()和 rstrip()
该方法只能删除开头或是结尾的字符,不能删除中间部分的字符
str.strip([chars]);
代码示例:
str = " Hello World!!! ";
print(str.strip());
str = "88888888Hello World!!!8888888";
print( str.strip('8') );
str = "12345678Hello World!!!87654321";
print( str.strip('1234567') );
'''
输出结果:
Hello World!!!
Hello World!!!
8Hello World!!!8
'''
创建字符映射的转换表
对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标
两个字符串的长度必须相同,为一一对应的关系
tips:注:Python3.4 已经没有 string.maketrans() ,取而代之的是内建函数: bytearray.maketrans()、bytes.maketrans()、str.maketrans() 。
str.maketrans(intab, outtab)
代码示例:
intab = "elord"
outtab = "12345"
trantab = str.maketrans(intab, outtab)
str = "Hello World!!!"
print (str.translate(trantab))
'''
输出结果:
H1223 W3425!!!
'''
根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中
str.translate(table)
bytes.translate(table[, delete])
bytearray.translate(table[, delete])
代码示例:
intab = "helow"
outtab = "12345"
trantab = str.maketrans(intab, outtab) # 制作翻译表
str = "hello world!!!"
print(str.translate(trantab))
'''
输出结果:
12334 54r3d!!!
'''
返回字符串 str 中最大的字母
max(str)
代码示例:
str = "Hello World!!!"
print ("最大字符: " + max(str))
'''
输出结果:
最大字符: r
'''
返回字符串 str 中最小的字母
min(str)
代码示例:
str = "abcdefg"
print ("最小字符: " + min(str))
'''
输出结果:
最小字符: a
'''
把 将字符串中的 old 替换成 new
如果 max 指定,则替换不超过 max 次
str.replace(old, new[, max])
代码示例:
str = "1年了"
print("错误码龄:", str)
print("正确码龄:", str.replace("1年", "2年"))
str = "hello hello world!"
print(str.replace("hello", "bye", 2))
str = "hello hello world!"
print(str.replace("hello", "bye", 1))
str = "hello hello world!"
print(str.replace("hello", "bye", 0))
'''
输出结果:
错误码龄: 1年了
正确码龄: 2年了
bye bye world!
bye hello world!
hello hello world!
'''
以 str 为分隔符分割字符串,如果 num 有指定值,则仅分割 num+1 个子字符串
str.split(str="", num=string.count(str))
代码示例:
str = "hello hello world!"
print (str.split( )) # 以空格为分隔符
print (str.split(' ',1)) # 以 " " 为分隔符
print (str.split(' ',0)) # 以 " " 为分隔符
print (str.split('w')) # 以 w 为分隔符
'''
输出结果:
['hello', 'hello', 'world!']
['hello', 'hello world!']
['hello hello world!']
['hello hello ', 'orld!']
'''
按照行(’\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表
如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符
str.splitlines([keepends])
代码示例:
str = 'ab c\n\nde fg\rkl\r\n'
print (str.splitlines()) # 输出结果里去掉换行符('\r', '\r\n', \n')
print (str.splitlines(True)) # 输出结果里包含换行符('\r', '\r\n', \n')
'''
输出结果:
['ab c', '', 'de fg', 'kl']
['ab c\n', '\n', 'de fg\r', 'kl\r\n']
'''
检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false
注意:定义一个十进制字符串,只需要在字符串前添加 ‘u’ 前缀即可
str.isdecimal()
代码示例:
str = "hello 2021"
print (str.isdecimal())
str = "2021 2021"
print (str.isdecimal())
str = "20212021"
print (str.isdecimal())
'''
输出结果:
False
False
True
'''
作者:天使是怎样炼成的
链接:http://www.pythonpdf.com/blog/article/473/2fcabe1b8557007eca6d/
来源:编程知识网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!