# -*- 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__)的更多相关文章

  1. [py]类的专有方法

    陆陆续续总结一些用到的类的特殊方法 看源码总会看到一些奇奇怪怪的写法: 掺杂着设计模式 https://coding.net/u/RuoYun/p/Python-design-pattern/git/ ...

  2. 4 python 类的专有方法介绍

    1.__init__ : 构造函数,在生成对象时调用  该方法是在对象产生之后才会执行,只用来为对象进行初始化操作,可以有任意代码,但不一定有返回值. 所谓初始化构造函数就是在构造对象的同时被对象自动 ...

  3. 类的专有方法(__getattr__和__setattr__、__delattr__)

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #http://www.360doc.com/content/15/0413/19/12067640_4629 ...

  4. 类的专有方法(__getitem__和__setitem__)

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #http://www.imooc.com/code/6252 #类的专有方法(__getitem__和__s ...

  5. 类的专有方法(__len__)

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #http://www.imooc.com/code/6252 #类的专有方法(__len__) #如果一个类 ...

  6. 类的专有方法(__del__)

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #http://www.bubuko.com/infodetail-313791.html #类的专有方法(_ ...

  7. 类的专有方法(__init__)

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #http://www.cnblogs.com/zyxstar2003/archive/2011/03/21/ ...

  8. 第8.13节 Python类中内置方法__repr__详解

    当我们在交互环境下输入对象时会直接显示对象的信息,交互环境下输入print(对象)或代码中print(对象)也会输出对象的信息,这些输出信息与两个内置方法:__str__方法和__repr__方法有关 ...

  9. python干货-类属性和方法,类的方法重写

    类属性与方法 类的私有属性 __private_attrs: 两个下划线开头,表明为私有,外部不可用,内部使用时self.__private_attrs. 类的方法 在类的内部,使用 def 关键字来 ...

随机推荐

  1. MVC中使用AngularJS-01,基本

    Angularjs是一个前端的Javascript MVC 库和框架,使前端得到更好的设计.维护和测试.它的核心特性有:MVC.双向数据绑定.指令和语义化标签.模块化工具.依赖注入.HTML模板,以及 ...

  2. use of undeclared identifier 'xxxxxxx方法名'

    在*.m文件中,编写一个方法,出现了 use of undeclared identifier 'xxxx方法名'.   遇到这种情况: 首先要看,*.h 文件是否定义了该方法. 其次,要检查一下,方 ...

  3. C标准库 二

    http://www.utas.edu.au/infosys/info/documentation/C/CStdLib.html现在C语言(C99)标准库函数的24个头文件列表如下: assert.h ...

  4. chromium对网页获取favicon

    每一个网页都有一个favicon,在历史记录的保存中须要用到.在content文件夹下,这个没有实现. 以下说一下我的实现过程: web_contents_impl.cc文件里有方法:WebConte ...

  5. C错误异常处理,异常处理

    预处理器标识#error的目的是什么啊? 指令 用途 # 空指令,无任何效果 #include 包含一个源代码文件 #define 定义宏 #undef 取消已定义的宏 #if 如果给定条件为真,则编 ...

  6. Git 学习(四)操作修改和版本穿梭

    Git 学习(四)操作修改和版本穿梭 之前的章节,已介绍了本地Git库创建.暂存区增.删.改,以及提交版本库:可回顾下命令操作: git add 和 git commit. 光有之前章节的操作,Git ...

  7. [leetcode]Remove Nth Node From End of List @ Python

    原题地址:http://oj.leetcode.com/problems/remove-nth-node-from-end-of-list/ 题意: Given a linked list, remo ...

  8. Retrofit 简介 wiki 文档

    简介 Type-safe HTTP client for Android and Java by Square, Inc. GitHub主页:https://github.com/square/ret ...

  9. 关于css优先级

    css的优先级从低到高依次是:内部样式表的优先级为(1,0,0,0),id选择器优先级为(0,1,0,0),class选择器为(0.0,1,0),tag标签为(0.0,0,1).除此之外,!impor ...

  10. 全局 Style

    1.定义一个全局资源文件,如下 <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/pres ...