首页 > 开发 > Python > 正文

Python ascii()函数

2023-04-24 19:21:37
字体:
来源:转载
供稿:网友

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 = "武林网VEVB"
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__()返回的值。

本文(完)

上一篇:Python any()函数

下一篇:Python repr()函数

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表