今天介绍一下 Python 字符串转义字符、运算符、以及格式化输出的相关知识,并附上相关案例代码,便于学习、理解。
转义字符
Python 用反斜杠 转义字符,赋予字符新的含义。虽然转义字符由多个字符组成,但在 Python 中会将其视为一个字符,具体说明请参考下表:
我们选择几个转义字符演示一下效果
1、单引号、双引号
>>> print("my ' name is kele")
my ' name is kele
>>> print("my " name is kele")
my " name is kele
2、响铃符,注意并非喇叭发声而是蜂鸣器,现在的计算机基本都不带了,所以响铃不一定有效
>>> print("my a name is kele")
my name is kele
3、空字符、换行符、回车符
# 空字符
>>> print("my 0 name is kele")
my name is kele
# 换行符
>>> print("my n name is kele")
my
name is kele
# 回车符
>>> print("my r name is kele")
my
name is kele
4、横向制表符、反斜杠
# 横向制表符,默认为 4 个空格
>>> print("mytname is kele")
my name is kele
# 回车符
>>> print("my r name is kele")
my r name is kele
运算符
字符串运算符与相关描述,请参考下表:
1、使用+
拼接 字符串。
>>> before_str = "Hi,"
>>> after_str = "my name is kele"
>>> splicing_str = before_str + after_str
>>> splicing_str
'Hi,my name is kele'
2、使用*
重复输出字符串。
>>> double_str = "Hi"
>>> double_str * 5
'HiHiHiHiHi'
3、使用索引值获取字符串元素,索引从 0 开始。
>>> double_str = "my name is kele"
>>> double_str[0] # 获取字符串第 1 个元素
'm'
>>> double_str[4] # 获取字符串第 5 个元素
'a'
4、使用索引值截取部分字符串,索引从 0 开始。
>>> double_str = "my name is kele"
>>> double_str[0:2] # 截取字符串第 1~2 个元素
'my'
>>> double_str[2:4] # 截取字符串第 3~4 个元素
' n'
5、使用in
¬ in
判断字符串是否包含元素。
>>> double_str = "my name is kele"
>>> "kele" in double_str
True
>>> "xuebi" in double_str
False
>>> "xuebi" not in double_str
True
>>> "kele" not in double_str
False
6、使用r
&R
输出原始字符串,让转义字符失效。
# 未使用时,会输出空行
>>> print("n")
>>> print(r"n")
n
>>> print(R"n")
n
格式化输出
字符串格式化输出与相关描述,请参考下表:
格式化操作符,常用辅助参数可参考下表:
1、使用%c
格式化字符及其ASCII码。
>>> "%c" % 97
'a'
>>>"%c%c%c" % (97, 98, 99)
'abc'
2、使用%s
格式化输出字符串。
>>> "Hi, my name is %s" % "kele"
'Hi, my name is kele'
>>> "%s, my name is %s" % ("Hi", "kele")
'Hi, my name is kele'
3、使用%d
格式化输出整数。
>>> "1 + 1 = %d" % 2
'1 + 1 = 2'
>>> "%d + %d = %d" % (1, 1, 2)
'1 + 1 = 2'
>>> "%5d" % 8 # 输出宽度为 5 的字符
' 8'
>>> "%-5d" % 8 # 左对齐
'8 '
>>> "%+d" % 8 # 显示整数符号
'+8'
>>> "%05d" % 8 # 使用 0 取代空格
'00008'
4、使用%o
格式化无符号八进制数。
>>> "%o" % 16
'20'
>>> "%#o" % 16 # 添加八进制符号
'0o20'
5、使用%x
或%X
格式化无符号十六进制数。
>>> "%x" % 16
'10'
>>> "%X" % 16
'10'
>>> "%#x" % 16 # 添加十六进制符号
'0x10'
>>> "%#X" % 16 # 添加十六进制符号
'0X10'
6、使用%f
格式化浮点数字,可指定小数点后面的精度。
>>> "%f" % 168.888
'168.888000' # 小数点后默认保留 6 位小数
>>> "%3.1f" % 168.888
'168.9' # 总宽度为3, 保留 1 位小数
>>> "%.2f" % 168.888
'168.89' # 保留 2 位小数
7、使用%e
或%E
用科学计数法格式化浮点数。
>>> "%e" % 168.888
'1.688880e+02'
>>> "%E" % 168.888
'1.688880E+02'
8、使用%g
或%G
格式化浮点数,根据值的大小选择合适的格式符。
>>> "%g" % 168.888
'168.888'
>>> "%g" % 1688888.888
'1.68889e+06'
>>> "%G" % 1688888.888
'1.68889E+06'
9、format
函数,通过{}
和:
来代替以前的%
,其中字符串操作使用大括号,数字操作使用冒号,本文以字符串为例。
# 不指定位置,默认按顺序匹配
>>> 'Hi my {} is {}'.format("name", "kele")
'Hi my name is kele'
# 指定位置,按位置匹配
>>> '{0} {1} {0}'.format("kele", "xuexi")
'kele xuexi kele'
# 文件目录拼接
>>> '{0}{1}{0}'.format("Desktop", "Python", "kele")
'DesktopPythonDesktop'
10、f-string
格式化字符串以f
开头,后面接字符串,字符串中的表达式用大括号{}
包起来,可替换变量或表达式计算后的值。
# 替换变量
>>> name = "kele"
>>> f"my name is {name}"
'my name is kele'
# 替换表达式
>>> f"{1+1}"
'2'
格式化输出案例之打印三角形
for i in range(5):
for j in range(0, 5 - i):
print(end=" ")
for k in range(5 - i, 5):
print("*", end=" ")
print("")
# 效果如下:
*
* *
* * *
* * * *
格式化输出案例之打印九九乘法表
for i in range(1, 10):
for j in range(1, i+1):
print('{}x{}={}t'.format(j, i, i*j), end='')
print()
效果如下:
结尾
小编这里整理了一份Python的学习资料,需要的小伙伴店家下方获取
腾讯高级Python架构师教你如何快速升职加薪,迎娶白富美,走上人生巅峰www.jianshu.com