Python ascii()

时间:2020-02-23 14:42:26  来源:igfitidea点击:

Python ascii()函数返回对象的字符串表示形式。
此函数在内部调用repr()函数,并在返回表示形式的字符串之前,使用\ x,\ u或者\ U转义符转义非ASCII字符。

Python ascii()

Python ascii()是一个内置函数,并带有一个参数。
此参数可以是任何原始数据类型或者对象。
我们还可以将列表,字典或者元组作为参数传递。
在这些情况下,将对集合的元素调用ascii()方法,并返回字符串表示形式。

带有数字,布尔值,字符串的Python ascii()示例

s = 5 #numbers
print(ascii(s))

s = True # boolean
print(ascii(s))

# strings
s = 'abc'
print(ascii(s))

s = 'èvõłvé'
print(ascii(s))

输出:

5
True
'abc'
'\xe8v\xf5\u0142v\xe9'

带有列表,元组和字典的Python ascii()示例

l = ['æ', 'b', 'č']
print(ascii(l))

t = (1, 'æ', 'b', 'č', 5)
print(ascii(t))

d = {'â':'å', '2':2, 'ç':'ć'}
print(ascii(d))

输出:

['\xe6', 'b', '\u010d']
(1, '\xe6', 'b', '\u010d', 5)
{'\xe2': '\xe5', '2': 2, '\xe7': '\u0107'}

带有自定义对象的Python ascii()

假设我们有一个定义为的类:

class Employee:
  name = ""

  def __init__(self, n):
      self.name = n

现在,如果我们有以下代码片段:

e = Employee('Pànkáj')
print(ascii(e))

输出:

<__main__.Employee object at 0x1061e2d68>

由于我们未定义repr()函数,因此使用了对象类repr()定义。
如果要对任何对象使用ascii(),则应定义其repr()函数。

让我们在Employee类中添加以下功能。

def __repr__(self):
      return self.name

现在以上代码段的输出将是:

P\xe0nk\xe1j