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

Python repr()函数

减小字体 增大字体 作者:本站  来源:本站整理  发布时间:2021-08-09 17:50:16

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 = "翔宇亭IT乐园"
print(repr(s3))

输出结果:

123
12.3
(1.2+3.4j)
13
True
False
'abc ABC'
'abc\n\t\rABC'
'翔宇亭IT乐园'

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编码字符进行了转义。


如需转载,请注明出处:翔宇亭IT乐园(http://www.biye5u.com),并给出本文链接地址:

http://www.biye5u.com/article/python/2021/6533.html

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

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

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

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