python五十七:str与repr,类似于 java对象中的tostring()方法 str函数与print函数会调用对象的__str__函数repr函数与交互式解释器会调用对象的__repr__函数如果__str__函数没有被定义,那么就会使用__repr__来代替输出. __str__与__repr__函数的返回值必须是字符串,否则会跑出异常 Python学习笔记 1-字符串表示...
str() vs repr() in Python str() 和 repr() 都是用作一个对象的字符表示. 1 str()的举例: 1 2 3 s='Hello, Geeks.' printstr(s) printstr(2.0/11.0)输出结果: Hello, Geeks. 0.181818181818 2 repr()的举例: 1 2 3 s='Hello, Geeks.' printrepr(s) printrepr(2.0/11.0)输出结果: 'Hello...
示例代码 class Person: def __init__(self, name, age): self.name = name self.age = age def __str__(self): return f"{self.name} is {self.age} years old." # 创建对象 p = Person("Bob", 25) print(p) # 输出: Bob is 25 years old. 这个示例相比于上一个示例,初始化成员变量和...
logging.basicConfig(level=logging.INFO,format='%(asctime)s - [line:%(lineno)d] - %(levelname)s: %(message)s')classTechlogTest:def__str__(self):return"TechlogTest.__str__"def__repr__(self):return"TechlogTest.__repr__"if__name__=='__main__':testobj=TechlogTest()print('%%r: ...
repr. str, ascii in Python repr和str a="Hello"print(str(a))print(repr(a)) 结果: Hello'Hello' 可以看出,repr的结果中多了左右两个引号。 repr和ascii 同样是返回字符串,如果是非 ASCII 编码的字符,repr()返回的是\x, \u,\U,这ascii()则不是。
但是不同的是,两者的使用场景不同,其中__str__更加侧重展示。所以当我们print输出给用户或者使用str函数进行类型转化的时候,Python都会默认优先调用__str__函数。而__repr__更侧重于这个实例的报告,除了实例当中的内容之外,我们往往还会附上它的类相关的信息,因为这些内容是给开发者看的。所以当我们在交互式窗口...
关于str和repr,网上有很多的介绍,个人觉得那并非在编程中常常使用的场景。比如下面的例子。region = "CHINA"print(region)print(str(region))print(repr(region))#运行结果"C:\Program Files\Python38\python3.exe" D:/python/python_210710/exercise_03/str_repr.pyCHINACHINA'CHINA'编码的是为了方便人来阅读...
__str__() 只有在调用 print 打印的时候才会触发,直接输出则不会,如果同时定义了__str__()和__repr__(),print会优先触发__str__()方法 class Person(): def __init__(self, name, age): self.name = name self.age = age def __str__(self): return f'name:{self.name}, age:{self.age...
repr()和str()是 Python 中两个用于将对象转换为字符串的内置函数,它们之间有一些关键的区别: 目的不同: repr(): 返回一个字符串,这个字符串应该是合法的 Python 表达式,可以用来重新创建对象(如果可能)。它主要用于开发和调试,旨在提供尽可能多的信息。
repr()函数得到的字符串通常可以用来重新获得该对象,repr()的输入对python比较友好。通常情况下obj==eval(repr(obj))这个等式是成立的。 将字符串再转换为字符串 >>> repr('abd') #repr转换后是在'abd'的外层又加了一层引号 "'abd'" >>> str('abd') #str转换后还是原来的值 ...