python用法字符串_Python字符串,详细用法补充

前言

文章首发于个人公众号:可乐python说

前面介绍了 Python 字符串自建函数的相关操作,详细内容请前往

一文搞定 Python 字符串操作(上)

一文搞定 Python 字符串操作(下)

阅读。

bbee8146f7d077620305ec89c5000653.png

今天介绍一下 Python 字符串

转义字符

运算符

、以及

格式化输出

的相关知识,并附上相关案例代码,便于学习、理解。

转义字符

Python 用反斜杠

\

转义字符,赋予字符新的含义。虽然转义字符由多个字符组成,但在 Python 中会将其视为一个字符,具体说明请参考下表:

符号

说明

单引号

"

双引号

\a

发出系统响铃声

\0

空字符

\n

换行符

\r

回车符

\t

横向制表符(Tab)

\v

纵向制表符

\f

换页符

\

反斜杠

\o

八进制表示符

\x

十六进制表示符

\b

退格符(Backspace)

我们选择几个转义字符演示一下效果

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("my\tname is kele")

myname is kele

# 回车符

>>> print("my \\r name is kele")

my \r name is kele

运算符

字符串运算符与相关描述,请参考下表:

操作符

说明

+

拼接字符串

*

重复输出字符串

[]

通过索引取字符串元素

[:]

截取部分字符串,遵循左闭右开原则

in

成员运算符,判断字符串是否包含元素

not in

成员运算符,与 in 相反

r/R

原始字符串,让转义字符失效

%

格式化字符串

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

&

not 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

格式化输出

字符串格式化输出与相关描述,请参考下表:

格式符

说明

%c

格式化字符及其ASCII码

%s

格式化字符串

%d

格式化整数

%o

格式化无符号八进制数

%x

格式化无符号十六进制数

%X

格式化无符号十六进制数(大写)

%f

格式化浮点数字,可指定小数点后的精度

%e

用科学计数法格式化浮点数

%E

作用同 %e,用科学计数法格式化浮点数

%g

%f 和 %e 的简写

%G

%f 和 %E 的简写

format()

格式化字符串的函数,Python 2.6 开始

f-string

字面量格式化字符串,Python 3.6 开始

格式化操作符,常用

辅助参数

可参考下表:

辅助参数

描述

m. n.

m 为最小宽度,n为小数点位数

-

左对齐

+

添加符号

#

八进制添加

0o

、十六进制添加

0x

0X

0

显示数字时使用

0

取代空格

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")

'Desktop\\Python\\Desktop'

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()

效果如下:

a4eb2661791112e649f175000cdde9f5.png

总结

1、转义字符中,换行符、回车符、反斜杠、制表符较为常用,使用

r

或者

R

可取消其转义功能。

2、运算符都比较常用,其中

in

not in

在处理字符串时常用于判断,能够帮助我们清洗一部分数据。

3、格式化输出较多,建议逐个进行尝试,其中

format

函数功能十分强大,工作中十分常用, 它在数字格式化方面的应用也较为丰富,它还可接收参数,甚至其参数可以是函数对象。

4、文中难免会出现一些描述不当之处(尽管我已反复检查多次),欢迎在留言去指正,字符串相关的有趣案例也可进行分享。

5、原创文章已全部更新至 Github:https://github.com/kelepython/kelepython

6、本文永久博客地址:https://kelepython.readthedocs.io/zh/latest/c01/c01_03.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值