首 页IT知识库收藏内容
当前位置:翔宇亭IT乐园IT知识库Python

Python ascii()函数

减小字体 增大字体 作者:本站  来源:本站整理  发布时间:2021-08-08 19:40:57

微信搜索本站订阅号:优雅的代码。欢迎关注。

ascii()是Python内置的一个函数,其作用是返回一个对象的字符串表示形式,但字符串中只包含ASCII编码的字符,而非ASCII编码的字符将使用以反斜杠“\”形式的转义字符表示。

该函数在内部调用repr()函数来实现的,并在输出前使用转义字符来转义非ASCII字符。

ascii()函数语法格式

官方文档给出的ascii()语法格式如下:

ascii(object)

参数

该函数的参数可以是任何原始数据类型或一个对象。

返回值

该函数的返回值是一个字符串,该字符串中包含了ASCII编码的可打印字符,而非ASCII编码的字符将以转义字符的形式来显示。

Python 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()函数同样也可以使用到该对象中。

看下面的例子。

class Student:
    name=""
    def __init__(self,name):
        self.name = name

class Teacher:
    name = ""
    def __init__(self,name):
        self.name = name

    def __repr__(self):
        return self.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.biye5u.com/article/python/2021/6532.html

微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。

个人成长离不开各位的关注,你的关注就是我继续前行的动力。

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
愿您的精彩评论引起共鸣,带来思考和价值。
用户名: 查看更多评论
分 值:100分 90分 80分 70分 60分 40分 20分
内 容:
验证码:
关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图
本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
Copyright © 2007-2024 biye5u.com. All Rights Reserved.