- ·上一篇内容:Python逻辑推理:三对情侣到底谁和谁结婚
- ·下一篇内容:Python中创建列表、访问列表、删除列表等操作方法
Python isprintable()函数检测字符串中的每个字符是否都为可打印字符
Python字符串处理函数isprintable()的作用是检测字符串中的所有字符是否都为可打印字符,如果字符串中的每个字符都为可打印字符或字符串为空的话,就会返回 True ,否则返回 False 。
一、isprintable()语法格式
string_object.isprintable()
该函数没有参数,string_object 是要进行检测的字符串或字符串变量。
该函数的返回值为逻辑值:True 或 False .
二、什么是可打印字符
要知道这个问题,我们只需要弄清楚哪些字符属于非可打印字符即可。
根据官方文档描述(str.isprintable()),非可打印字符是指在Unicode字符库中被定义为"Other"或"Separator"的字符,但空格(0x20)除外。
同时官方文档也说了,在Python中,可打印字符意味着在对字符串调用repr()函数时,不会被转义的字符。
三、isprintable使用举例
1、基本使用的例子
>>>
s1 = "Hello Python."
>>>
print(s1.isprintable())
True
>>>
s2 = "翔宇亭IT乐园"
>>>
print(s2.isprintable())
True
>>>
结果都为True.
空格和正常语言中的字符都是可打印的字符。
2、空字符串
>>>
s = ''
>>>
print(s.isprintable())
True
>>>
空字符串被认为是可打印的
3、转义字符
>>>
s1 = 'Python\tJava'
>>>
print(s1.isprintable())
False
>>>
s2 = 'Python\rJava'
>>>
print(s2.isprintable())
False
>>>
字符串中的 \t ,\r 等转义字符被认为是不可打印字符。更多常见的的转义字符的例子见下图:
4、并非所有的转义字符都是不可打印字符
>>>
s1 = 'I\'m a student'
>>>
print(s1.isprintable())
True
>>>
s2 = "She said:\"Go away!\""
>>>
print(s2.isprintable())
True
>>>
s3 = "Python \u0061 Java"
>>>
print(s3)
Python a Java
>>>
print(s3.isprintable())
True
>>>
s4 = "D:\\"
>>>
print(s4.isprintable())
True
>>>
上面的例子说明,像单引号,双引号,反斜杠这种有实质性字符的是可打印字符,而\u0061是字母 'a' 的Unicode码,当然也是可打印字符。
5、输出所有非可打印字符的Unicode码
要想知道 Unicode 字符数据库中哪些编码属于不可打印字符,可以使用下面的程序来输出查看。
icnt = 0
for
ucode
in
range(2 ** 16):
ch = chr(ucode)
if
not
ch.isprintable():
print(u'{:04x}'.format(ucode))
icnt += 1
print(f'非可打印字符的数量为:{icnt}')
输出情况:
0000
0001
0002
...
fffb
fffe
ffff
非可打印字符的数量为:10215
本文(完)
如文中有误或对本内容有疑问,请留言评论
如需转载,请注明出处和本文链接地址:翔宇亭IT乐园(http://www.biye5u.com)
本文链接地址:http://www.biye5u.com/article/python/2020/6474.html
微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。
个人成长离不开各位的关注,你的关注就是我继续前行的动力。