首页 > 开发 > Python > 正文

Python repr()函数

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

Python repr()函数是Python的内置函数。该函数的作用是返回一个对象的可打印字符表示的字符串。对于大多数类型,该函数返回的字符串值与传递给eval()函数返回的值相同,其它情况则返回一个包含对象类型名称及附加的对象地址信息,这些内容将会放在一对尖括号内。一个类可以通过定义__repr__()函数,控制着其实例返回的内容。

repr()函数的语法格式

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

repr(object)

参数

该函数有一个参数,可以是任何类型的数据。

返回值

该函数的返回值是一个字符串,对于大多数类型,字符串的内容与参数的内容相同,对于类的实例常常返回包括类名称、对象地址信息的字符串。

Python repr()函数

repr()函数示例

1、参数是数值、布尔类型或字符串

#数字
i1 = 123
print(repr(i1))

i2 = 12.3
print(repr(i2))

i3 = 1.2 + 3.4j
print(repr(i3))

i4 = 0b1101
print(repr(i4))

#布尔类型
b1 = True
print(repr(b1))

b2 = 3 > 4
print(repr(b2))

#字符串
s1 = "abc ABC"
print(repr(s1))

s2 = "abc/n/t/rABC"
print(repr(s2))

s3 = "武林网VEVB"
print(repr(s3))

输出结果:

123
12.3
(1.2+3.4j)
13
True
False
'abc ABC'
'abc/n/t/rABC'
'武林网VEVB'

2、参数是列表、元组、字典等可迭代对象

#参数是列表
lst = [12,12.1,'A','æ','奥运会']
print(repr(lst))

#参数是元组
t = ('奥运会','A','a','æ')
print(repr(t))

#参数是字典
d = {'字符':'优雅','A':'â','1':1}
print(repr(d))

输出结果:

[12, 12.1, 'A', 'æ', '奥运会']
('奥运会', 'A', 'a', 'æ')
{'字符': '优雅', 'A': 'â', '1': 1}

3、参数是自定义数据类型

如果在自定义对象中定义了__repr__()函数的话,repr()函数根据__repr__()函数返回的内容进行处理,否则仅输出实例所属的类名称及地址等信息。

看下面的例子。

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(repr(S))

T = Teacher("苏炳添")
print(repr(T))

输出结果如下:

<__main__.Student object at 0x0000000002DB47F0>
苏炳添

 以上介绍了repr()函数的使用方法。

通过对比Python ascii()函数可以看出,repr()函数与ascii()函数具有很大的相似性,其不同之处在于:ascii()函数对ASCII编码的字符原样输出,而非ASCII编码的字符使用转义字符的形式输出。而repr()函数不管是否为ASCII编码字符都原样输出。在ascii()函数中也说过,实际上在ascii()函数内部实现中使用了repr()函数来实现,只不过在返回字符串时,对非ASCII编码字符进行了转义。

上一篇:Python ascii()函数

下一篇:Python bin()函数

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