Python __str__(self)和__unicode__(self)】的更多相关文章

object.__str__(self) Called by the str() built-in function and by the print statement to compute the “informal” string representation of an object. This differs from __repr__() in that it does not have to be a valid Python expression: a more convenie…
For ( __str__ ),we going to see a example ... and find who is working for ... #!/usr/bin/python class Person(object): def __init__(self,name,gender): self.name = name self.gender = gender if __name__ == '__main__': p = Person('Frank',23) print p See,…
1. 没定义__str__() print的时候得不到自己想要的东西 类默认转化的字符串基本没有我们想要的一些东西,仅仅包含了类的名称以及实例的 ID (理解为 Python 对象的内存地址即可).虽说这总比没有好,但确实是没什么用处啊. 所以,我们可能会手动打印对象的一些属性或者是在类里自己实现一个方法来返回我们需要的信息 2.使用 __str__ 实现类到字符串的转化 3.另一个就是 __repr__ 方法.后者的工作方式与前者类似,但是它被调用的时机不同 另外,列表以及字典等容器总是会使用…
class Cat: def __init__(self,_name): self.name = _name def __str__(self): return "i am %s"%self.name def show(self): print("name is %s"%self.name) tom = Cat("tom") tom.show() print(tom) print("------------"); lanmao…
Python 有办法将任意值转为字符串:将它传入repr() 或str() 函数. 函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式 (如果没有等价的语法,则会发生SyntaxError 异常) 某对象没有适于人阅读的解释形式的话, str() 会返回与repr() 等同的值.很多类型,诸如数值或链表.字典这样的结构,针对各函数都有着统一的解读方式. 字符串和浮点数,有着独特的解读方式. class Person(object): def __str__(…
内建函数str()和repr() (representation,表达,表示)或反引号操作符(``)可以方便地以字符串的方式获取对象的内容.类型.数值属性等信息.str()函数得到的字符串可读性好(故被print调用),而repr()函数得到的字符串通常可以用来重新获得该对象,通常情况下 obj==eval(repr(obj)) 这个等式是成立的.这两个函数接受一个对象作为其参数,返回适当的字符串. 事实上repr()和``做一样的事情,返回一个对象的“官方”字符串表示.其结果绝大多数情况下(不…
python 在打印一个实例化对象时,打印的是对象的地址,比如:<__main__.Workers object at 0x00000000255A9AC8> 而__str__(self)就可以打印具体的属性,用法如下: def __str__(self): msg = "姓名:{},工号:{},工资:{}".format(self.name,self.number,self.salary) return msg 在打印实例化对象时打印的内容: 姓名:**,工号:0001,…
看下面的例子就明白了 class Test(object): def __init__(self, value='hello, world!'): self.data = value >>> t = Test() >>> t <__main__.Test at 0x7fa91c307190> >>> print t <__main__.Test object at 0x7fa91c307190> # 看到了么?上面打印类对象并不…
python3    django模型里面 使用 __str__  如果使用__unicode__是无效的 简而言之,就是__str__和__unicode__都是为了再管理站点中加载这个表时想显示什么属性,当然一般都是显示一个name,大体来讲是通用的.下面是抄的csdn上面的一篇文章. str()是Python的一个“魔幻”方法,这个方法定义了当object调用str()时应该返回的值.Django在许多地方使用str(obj)(或者相关方法,unicode(obj)——见下文),比如说在D…
def __unicode__(self): return u'%s %s' % (self.first_name, self.last_name) 如果定义了__unicode__()方法但是没有定义__str__()方法,Django会自动提供一个__str__()方法调用__unicode__()方法,然后把结果转换为UTF-8编码的字符串对象.在实际开发中,建议:只定义__unicode__()方法,需要的话让Django来处理字符串对象的转换. __unicode__()方法是在一个对…