共计 3510 个字符,预计需要花费 9 分钟才能阅读完成。
提醒:本文最后更新于 2019-05-12 14:15,文中所关联的信息可能已发生改变,请知悉!
字符串就是一系列的支付。在 Python3 中,用引号括起来的都是字符串,其中引号可以是单引号也可以是双引号。例如:
“This is a apple”
‘This is a apple’
在用单引号括起来的字符串中如果包含撇号,会导致错误。
message=”One of Python’s strengths is its diversecommunity. ”
print(message)
结果:”One of Python’s strengths is its diversecommunity.
但是
message=‘One of Python’s strengths is its diversecommunity.’
print(message)
结果会是:
File”apostrophe.py”,line1
message=‘One of Python’s strengths is its diversecommunity.’
Syntax Error: invalid syntax
Python 转义字符
在需要在字符中使用特殊字符时,python 用反斜杠 (\) 转义字符。如下表:
转义字符 | 描述 |
---|---|
\(在行尾时) | 续行符 |
\\ | 反斜杠符号 |
\’ | 单引号 |
\” | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\e | 转义 |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
\oyy | 八进制数,yy 代表的字符,例如:\o12 代表换行 |
\xyy | 十六进制数,yy 代表的字符,例如:\x0a 代表换行 |
\other | 其它的字符以普通格式输 |
Python 字符串运算符
下表实例变量 a 值为字符串 “Hello”,b 变量值为 “Python”:
操作符 | 描述 | 实例 |
---|---|---|
+ | 字符串连接 | a + b 输出结果:HelloPython |
* | 重复输出字符串 | a*2 输出结果:HelloHello |
[] | 通过索引获取字符串中字符 | a[1] 输出结果 e |
[:] | 截取字符串中的一部分 | a[1:4] 输出结果 ell |
in | 成员运算符 – 如果字符串中包含给定的字符返回 True | ‘H’ in a 输出结果 1 |
not in | 成员运算符 – 如果字符串中不包含给定的字符返回 True | ‘M’ not in a 输出结果 1 |
r/R | 原始字符串 – 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 |
|
Python 字符串格式化
Python 支持格式化字符串的输出。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。
在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。
符 号 | 描述 |
---|---|
%c | 格式化字符及其 ASCII 码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同 %e,用科学计数法格式化浮点数 |
%g | %f 和 %e 的简写 |
%G | %f 和 %E 的简写 |
%p | 用十六进制数格式化变量的地址 |
格式化操作符辅助指令:
符号 | 功能 |
---|---|
* | 定义宽度或者小数点精度 |
– | 用做左对齐 |
+ | 在正数前面显示加号(+) |
<sp> | 在正数前面显示空格 |
# | 在八进制数前面显示零(‘0′),在十六进制前面显示 ’0x’ 或者 ’0X'(取决于用的是 ’x’ 还是 ’X’) |
0 | 显示的数字前面填充 ’0’ 而不是默认的空格 |
% | ‘%%’ 输出一个单一的 ’%’ |
(var) | 映射变量(字典参数) |
m.n. | m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) |
python3- 字符串操作
# Auther: Aaron Fan
name =“my \tname is {name}, age is {age}.””’print(name.capitalize()) #这段话的首字母大写
print(name.count(“a”)) #统计这段字符串中一共有多少个 a
print(name.casefold())
print(name.center(50,”-“)) #一共打印 50 个字符,把原始字符串放到中间,两边不够的用“-”补上
print(name.encode()) #把字符串转换成二进制
print(name.endswith(“an”)) #判断一个字符串以什么结尾,比如如果以 an 结尾,就返回 True,否则返回 False
print(name.startswith(‘my’)) #判断字符串是否以 my 开头
print(name.expandtabs(30)) #把字符串中的 tab 转换成多个空格,这里转换成了 30 个空格
print(name.expandtabs(tabsize=30)) #把字符串中的 tab 转换成多个空格,这里转换成了 30 个空格
print(name.find(“name”)) #返回字符串中第一个 name 的下标,下面示例其中一个切片用法
print(name[name.find(“aaron”):])”’print(name.format(age=26,name=”aaron fan”)) #format 的具体用法在 day1 的 interaction 交互与字符串格式.py 那个脚本中有示例
print(name.format_map({‘age’:26,’name’:’aaron fan’})) #以字典的形式传送,结果同 format
print(“123aBc”.isalnum()) #判断字符串中是不是同时包含字母和数字,如果同时包含了字母和数字,而且没有包含其它空格和任何特殊字符那么就返回 True
print(“AaronFan”.isalpha()) #判断字符串中是不是只有英文字母,如果只有英文字母而其没有其它数字、空格和任何特殊字符,就返回 True
print(“123”.isdecimal()) #判断是否为十进制
print(“123”.isdigit()) #判断是否为整数,这个用的比较多,在购物车那个脚本中有使用示例,可以去看一下
print(“test123”.isidentifier()) #判断是否为一个合法的变量名
print(“123″.isnumeric()) #判断是否只包含数字
print(”\t \t”.isspace()) #判断是否为空格
print(“Aaron Fan”.istitle()) #判断首字母是否全部为大写
print(name.isprintable()) # 判断这个东西是否可以打印,用到的时候再去详细查下吧
print(“AARON FAN”.isupper()) #判断是否全部大写
#join 的用法
list1 = [“1″,”2″,”3″,”4″,”5”]
print(“+”.join(list1))
print(name.ljust(100,”*”)) #打印 100 个字符串,不够的话右边的全部用指定字符来填补,这里用 *
print(name.rjust(100,”*”)) #左边用 * 填充
print(“Aaron FAn”.lower()) #把大写变成小写
print(“Aaron FAn”.upper()) #把小写变成大写
print(name.lstrip()) #去除左边的换行
print(name.rstrip()) #去除右边的换行
print(name.strip()) #去除两边的换行
#print(name.maketrans())
#print(name.translate())
#maketrans 和 translate 加一起可以用来创建一个随机密码,通过自己定义的一个规则
print(“aaron fan”.replace(“n”,”N”,1)) #替换字符串中的指定字符,这里的示例是替换其中一个 n,使其变成 N,值替换 1 个,也可以替换多个
print(“aaron fan”.rfind(“n”)) #从左网友数,找到最右边的那个值的下标
print(“aaron+fan”.split(“+”)) #把字符串按照指定字符分成一个列表,默认以空格分割成一个列表
print(“aaron\nfan”.splitlines()) # 按照换行符,把字符串分割成一个列表
print(“Aaorn Fan”.swapcase()) #把大写转小写,小写转成大写
print(name.title()) #所有单词的首字母都大写
print(“123”.zfill(100)) #不够 100 个数字,前面就用 0 来填充