__str__ 和 __repr】的更多相关文章

#1 默认类里面默认提供的__str__方法,是返回类的内存地址class foo: def __init__(self): pass #2 修改类里面默认提供的__str__方法class fun: def __str__(self): return '自定制的对象显示方式' #这必须是要return(可以自己控制打印信息) def __repr__(self): return "返回repr" fo = foo()print(fo) #结果是<__main__.foo obj…
高阶函数 定义 函数接受的参数是一个函数 函数的返回值为一个函数 满足以上2点中其中一个就是高阶函数 函数嵌套 定义 函数中def定义一个函数 嵌套会存在闭包, 其他情况不会有闭包(闭包闭的是变量) 装饰器 实质 装饰器 == 高阶函数 + 嵌套函数 + 闭包 虽然1中提到装饰器等于右边3个项, 右边3个项的相加的结果就是函数, 所以装饰器就是函数 实战(装饰器(无参)标准写法) 不借助Python装饰器实现装饰器 def wrapper(func): def inner(*args, **kw…
一.ORM操作 1.常用字段和参数 Autofied 自增的整形字段,必填参数primary_key=True,  则成为数据库的主键,如无该字段,django自动创建 IntegerField 一个整形类型,数值范围-2147483648 ~ 2147483647 CharField 字符类型,必须提供max_length参数.max_length表示字符的长度 BooleanField  布尔 DecimalField   小数 FileField:文件路径 DateTimeeField 日…
__str__和repr __str__和__repr__都是python的内置方法,都用与将对象的属性转化成人类容易识别的信息,他们有什么区别呢 来看一段代码 from math import hypot class Vector: def __init__(self, x, y): self.x = x self.y = y def __str__(self): return 'Vector(%r,%r)' % (self.x, self.y) def __abs__(self): retu…
>>> class Student(object):... def __init__(self, name):... self.name = name... def __str__(self):... return 'Student object (name: %s)' % self.name...>>> s = Student('Michael')>>> s<__main__.Student object at 0x00000000022073…
__repr_和__str__会返回字符串表达形式 下一个例子是已经见过的init构造方法和add重载方法,本例也会定义返回实例的字符串表达形式的__repr__方法.字符串格式把self.data对象转换为字符串.如果定义了的话,当类的实例打印或转换成字符申时,__repr__(或其近亲__str__)就会自动调用.这些方法可替对象定义更好的显示格式,而不是使用默认的实例显示. #!/usr/bin/env python # -*- coding:utf-8 -*- class adder:…
__str__和__repr__ 如果要把一个类的实例变成 str,就需要实现特殊方法__str__(): class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender def __str__(self): return '(Person: %s, %s)' % (self.name, self.gender) 现在,在交互式命令行下用 print 试试: >>>…
repr(object) 返回一个可以用来表示对象的可打印字符串首先,尝试生成这样一个字符串,将其传给 eval()可重新生成同样的对象 否则,生成用尖括号包住的字符串,包含类型名和额外的信息(比如地址) 一个类(class)可以通过 __repr__() 成员来控制repr()函数作用在其实例上时的行为. str([object]) 返回一个可以用来表示对象的可打印的友好的字符串.对字符串,返回本身. 没有参数,则返回空字符串 对类,可通过 __str__() 成员控制其行为.该成员不存在,则…
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,…
__str__是被print函数调用的,一般都是return一个什么东西.这个东西应该是以字符串的形式表现的.如果不是要用str()函数转换.当你打印一个类的时候,那么print首先调用的就是类里面的定义的__str__ class Person(object): def __init__(self, name, job = None, pay = 0): self.name = name self.job = job self.pay = pay def lastName(self): ret…