- ·上一篇内容:Python any()函数
- ·下一篇内容:Python repr()函数
Python ascii()函数
微信搜索本站订阅号:优雅的代码。欢迎关注。
ascii()是Python内置的一个函数,其作用是返回一个对象的字符串表示形式,但字符串中只包含ASCII编码的字符,而非ASCII编码的字符将使用以反斜杠“\”形式的转义字符表示。
该函数在内部调用repr()函数来实现的,并在输出前使用转义字符来转义非ASCII字符。
ascii()函数语法格式
官方文档给出的ascii()语法格式如下:
ascii(object)
参数
该函数的参数可以是任何原始数据类型或一个对象。
返回值
该函数的返回值是一个字符串,该字符串中包含了ASCII编码的可打印字符,而非ASCII编码的字符将以转义字符的形式来显示。
ascii()函数使用示例
1、参数是数值、布尔类型或字符串
#参数是数值
n1 = 123
print(ascii(n1))
n2 = 12.3
print(ascii(n2))
n3 = 0b1100
print(ascii(n3))
n4 = 3.1 + 4.5j
print(ascii(n4))
#参数是布尔值
b1 = True
print(ascii(b1))
b2 = n1<0
print(ascii(b2))
#参数是字符串
s1 = "abc ABC"
print(ascii(s1))
s2 = "abc\nABC"
print(ascii(s2))
s3 = "算搜IT乐园"
print(ascii(s3))
输出结果如下
123
12.3
12
(3.1+4.5j)
True
False
'abc ABC'
'abc\nABC'
'\u7fd4\u5b87\u4eadIT\u4e50\u56ed'
从上面的输出结果中可以看出:对于数值类型,非十进制的转换成十进制后输出,其它的原样输出,对于布尔类型的也是如此。字符串中的非ASCII编码的字符将以“\”开始的转义字符形式输出。
2、列表、元组与字典对象作为参数
#参数是列表
lst = ['优雅''A',123,'æ']
print(ascii(lst))
#参数是元组
t = ('优雅''A''a''æ')
print(ascii(t))
#参数是字典
d = {'字符':'优雅''A':'â'}
print(ascii(d))
输出结果:
['\u4f18\u96c5', 'A', 123, '\xe6']
('\u4f18\u96c5', 'A', 'a', '\xe6')
{'\u5b57\u7b26': '\u4f18\u96c5', 'A': '\xe2'}
从上面的输出结果可以看出:参数是列表的话,仍然输出列表的字符串,但列表中的元组如是非ASCII编码的字符的话,将以转义字符的形式输出。
3、参数是自定义对象
如果在自定义对象中定义了__repr__()函数的话,ascii()函数同样也可以使用到该对象中。
看下面的例子。
classStudent:
name=""
def__init__(selfname):
self.name = name
classTeacher:
name = ""
def__init__(selfname):
self.name = name
def__repr__(self):
returnself.name
S = Student("王涛")
print(ascii(S))
T = Teacher("苏炳添")
print(ascii(T))
输出结果如下:
<__main__.Student object at 0x0000000002DB4670>
\u82cf\u70b3\u6dfb
从上面的例子和结果可以得知:如果自定义对象中没有定义__repr__()函数的话,输出的内容如结果中的第一行的形式;如果定义了__repr__()函数的话,ascii()函数的输出就是__repr__()返回的值。
本文(完)
如需转载请注明出处(算搜IT乐园),并给出本文链接地址:
http://www.suansuo.cn/article/python/2021/6532.html
微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。
个人成长离不开各位的关注,你的关注就是我继续前行的动力。