类的专有方法(__repr__)
# -*- coding: utf-8 -*-
#python 27
#xiaodeng
#http://blog.csdn.net/yyt8yyt8/article/details/7030416
#http://zhidao.baidu.com/link?url=zdkLDmHXmSqFlGp7uBWr3HMFq2Wq8Eg6bd-Rm0pjLIGXviEBr5Li8z7avS-uXK_z_YJ1hBPIhB63PqAKH40NZX_-u-c7rJB1B4Cyd4u3PH3
#http://stackoverflow.com/questions/1436703/difference-between-str-and-repr-in-python #类的专有方法(__repr__) #__repr__
#该函数返回对象字符串表达式,repr()转化为供解释器读取的形式;返回一个可以用来表示对象的可打印字符串
#尝试生成这样一个字符串,将其传给 eval()可重新生成同样的对象;否则生成用尖括号包住的字符串,包含类型名和额外的信息(比如地址)
#一个类(class)可以通过 __repr__() 成员来控制repr()函数作用在其实例上时的行为 #str()函数,得到的字符串可读性好,可以被print调用
#repr()函数,将一个对象转化为字符串显示,注意只是显示用;
#通常obj(对象)==eval(repr(obj)),接受一个对象作为其参数,返回适当的字符串 class Study(): def __init__(self,name='FengMei'):
self.name=name def __del__(self):
print 'del' def getName(self):
print self.name #控制repr()函数作用在其实例上时的行为
#当需要显示一个对象在屏幕上,将这个对象的属性或方法整理成一个可以打印输出的格式
#与eval()对应,打印出的结果赋给eval,通常可以获得原来的对象(对象类型)
def __repr__(self):
return "Study('xiaodeng')" if __name__=='__main__':
#实例化
car=Study()
b=repr(car)
print b #Study('xiaodeng')
print '**'*10
print type(b)#<type 'str'>
print type(eval(b))#<type 'instance'>,实例 '''
Study('xiaodeng')
********************
<type 'str'>
del
<type 'instance'>
'''
类的专有方法(__repr__)的更多相关文章
- [py]类的专有方法
陆陆续续总结一些用到的类的特殊方法 看源码总会看到一些奇奇怪怪的写法: 掺杂着设计模式 https://coding.net/u/RuoYun/p/Python-design-pattern/git/ ...
- 4 python 类的专有方法介绍
1.__init__ : 构造函数,在生成对象时调用 该方法是在对象产生之后才会执行,只用来为对象进行初始化操作,可以有任意代码,但不一定有返回值. 所谓初始化构造函数就是在构造对象的同时被对象自动 ...
- 类的专有方法(__getattr__和__setattr__、__delattr__)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #http://www.360doc.com/content/15/0413/19/12067640_4629 ...
- 类的专有方法(__getitem__和__setitem__)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #http://www.imooc.com/code/6252 #类的专有方法(__getitem__和__s ...
- 类的专有方法(__len__)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #http://www.imooc.com/code/6252 #类的专有方法(__len__) #如果一个类 ...
- 类的专有方法(__del__)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #http://www.bubuko.com/infodetail-313791.html #类的专有方法(_ ...
- 类的专有方法(__init__)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #http://www.cnblogs.com/zyxstar2003/archive/2011/03/21/ ...
- 第8.13节 Python类中内置方法__repr__详解
当我们在交互环境下输入对象时会直接显示对象的信息,交互环境下输入print(对象)或代码中print(对象)也会输出对象的信息,这些输出信息与两个内置方法:__str__方法和__repr__方法有关 ...
- python干货-类属性和方法,类的方法重写
类属性与方法 类的私有属性 __private_attrs: 两个下划线开头,表明为私有,外部不可用,内部使用时self.__private_attrs. 类的方法 在类的内部,使用 def 关键字来 ...
随机推荐
- .Net高级技术——程序集
程序集(Assembly),可以看做是一堆相关类打一个包,相当于java中的jar包(*).打包的目的:程序中只引用必须的程序集,减小程序的尺寸:一些程序集内部的类不想让其他程序集调用. 我们调用的类 ...
- 【Nginx】ngx_event_core_module模块
ngx_event_core_module模块属于事件模块,它是其他事件类模块的基础.它主要完毕下面任务: 创建连接池 决定使用哪些事件驱动机制 初始化将要使用的事件模块 以下分析该模块的代码. ng ...
- linux内核数据包转发流程(一):网络设备驱动
[版权声明:转载请保留出处:blog.csdn.net/gentleliu.邮箱:shallnew*163.com] 网卡驱动为每一个新的接口在一个全局的网络设备列表里插入一个数据结构.每一个接口由一 ...
- 使用StringBuilder或StringBuffer简单优化
使用StringBuilder或StringBuffer // join(["a", "b", "c"]) -> "a an ...
- Lua简明教程
这几天系统地学习了一下Lua这个脚本语言,Lua脚本是一个很轻量级的脚本,也是号称性能最高的脚本,用在很多需要性能的地方,比如:游戏脚本,nginx,wireshark的脚本,当你把他的源码下下来编译 ...
- 使用DBCA工具创建自己的数据库
ylbtech-Oracle:使用DBCA工具创建自己的数据库 DBCA创建数据库 默认安装的Oracle数据库一般不能满足实际应用的需求,例如数据库名称.数据库块的大小等都需要修改,那么我们应该自 ...
- Objective-C:对象之间循环引用会造成死循环
对象之间的循环引用 两个对象A.B,有可能会出现一种特殊的情况:A中包含B的实例变量:B中又包含A的实例变量,如果两个实例变量都是强引用(A有B实例变量的所有权,B也有A的实例变量的所有 ...
- Android导航抽屉-Navigation Drawer
Google今年七月份的时候更新了他们的Google+应用,采用了新的导航方式并抛弃了navigationdrawer.一时之间,又引发了一系列关于NavigationDrawer利弊的讨论,不过对于 ...
- Raphael path 拖动实现
让 Raphael 的 Path 动起来 Raphaël 是一个很实用的线上矢量图操作 Javascript 库.使用简单,一个值得一提的卖点是通过抽象出共同的接口屏蔽了 SVG 和 VML 之间的差 ...
- Javascript 中“靠”的使用
Javascript中call的使用自己感觉蛮纠结的,根据文档很好理解,其实很难确定你是否真正的理解. call 方法应用于:Function 对象调用一个对象的一个方法,以另一个对象替换当前对象.c ...