class Www:
  def __init__(self,name):
    self.name=name
  def __str__(self):
    return '名称 %s'%self.name
  #__repr__=__str__      *这是在__str__转换__repr__函数的偷懒小方法

#__str__函数是可以直接把对实例进行调用并得到使用

'''
交互模式:

方法一
>>> print(Www('实验'))

方法二
>>> s=Www('实验')

>>> print(s)
'''
class Qqq:
  def __init__(self,name):
    self.name=name
  def __repr__(self):
    return '名称 %s'%self.name
#__repr__函数是可以直接把对实例进行调用并得到使用

'''
交互模式:

方法一
>>> print(Qqq('实验'))

方法二
>>> a=Qqq('实验')

>>> a
'''

class St:
  def __init__(self):
    self.mame=='小智'

  def __getattr__(self,attr):#这个函数和__init__一样不能形参多了
    if attr=='yyb':
      return '通过'
    else:
      return '失败'

'''
__getattr__这个函数是调用不存在的属行(如yyb),pyhon会调用__getattr__(self,'yyb')

尝试获取属性,这样就有机会返回 yyb 的值.

交换模式:

>>> s.St()

>>> s.yyb
'''

class Ooo:
   def __init__(self,name):

    self.name=name
   def __call__(self):
    return '名称 %d'%self.name
'''
__call__,__str__,__repr__三个函数都很像,但每个细节上是有不同的,然而这个__call__函数是可以直接把对实例进行调用并得到使用。

嗯,确实这一点__str__ __repr__ 这两个也是一样的但 __str__ 函数是干关于字符串的事(__call__ 正好补漏,如若强行__str__调用字符串以外的也可以),

__repr__ 函数相当于 __str__的一种偏调试服务型的。

交互模式:

>>> s=Ooo()

>>> s()

'''

复习python的__call__ __str__ __repr__ __getattr__函数 整理的更多相关文章

  1. Python内置的字符串处理函数整理

    Python内置的字符串处理函数整理 作者: 字体:[增加 减小] 类型:转载 时间:2013-01-29我要评论 Python内置的字符串处理函数整理,收集常用的Python 内置的各种字符串处理 ...

  2. Python的程序结构[1] -> 方法/Method[4] -> 魔术方法 __call__ / __str__ / __repr__

    __call__ 方法 __call__ 是当对象被调用时会调用的方法,允许一个对象(类的实例等)像函数一样被调用,也可以传入参数. 1 class Foo(): 2 def __init__(sel ...

  3. python基础---- __getattribute__----__str__,__repr__,__format__----__doc__----__module__和__class__

    目录: 一. __getattribute__ 二.__str__,__repr__,__format__ 三.__doc__ 四.__module__和__class__ 一. __getattri ...

  4. Python——详解__str__, __repr__和__format__

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Python专题的第10篇文章,我们来聊聊Python当中的类. 打印实例 我们先从类和对象当中最简单的打印输出开始讲起,打印一个实例 ...

  5. day29 类中的内置函数方法 __str__ __repr__ __call__ isinstance() issubclass()

    __str__()__repr__()__len__() str() 转字符串repr() 让字符原形毕露的方法len() 计算长度 内置的方法很多,但是并不是全部都在object中,比如len(), ...

  6. python的__call__、__str__、__repr__、__init__、__class__、__name___、__all__、__doc__、__del__等魔术方法的作用

    python中,一切都是对象 在Python中,所有以“__”双下划线包起来的方法,都统称为“Magic Method”--魔术方法 1.__call__:作用是把类实例变成一个可调用对象 在Pyth ...

  7. python之反射和内置函数__str__、__repr__

    一.反射 反射类中的变量 反射对象中的变量 反射模块中的变量 反射本文件中的变量 .定义:使用字符串数据类型的变量名 来获取这个变量的值 例如: name = 'xiaoming' print(nam ...

  8. python面对对象编程------4:类基本的特殊方法__str__,__repr__,__hash__,__new__,__bool__,6大比较方法

    一:string相关:__str__(),__repr__(),__format__() str方法更面向人类阅读,print()使用的就是str repr方法更面对python,目标是希望生成一个放 ...

  9. python 中的 %s,%r,__str__,__repr__

    1.%s,%r的区别 在进行格式化输出时,%r 与 %s 的区别就好比 repr() 函数处理对象与 str() 函数处理对象的差别. %s ⇒ str(),比较智能: %r ⇒ repr(),处理较 ...

随机推荐

  1. java基础-对集合(Collection)的总结

    集合(Collection)类型也是Java标准库中被使用最多的类型. List ArrayList LinkedList 对于自定义的对象,需要正确覆写 equals方法 参看7.3 例子 Map ...

  2. 微信开发+百度AI学习:环境搭建

    注册成为百度开发者,百度接入指南http://ai.baidu.com/docs#/Begin/top 选择分类进去创建应用,接口权限全部选择好了,这样就可以只创建一个应用就有全部接口权限. C#开发 ...

  3. hdu2838 cow sorting用树状数组求逆序对

    题目链接:http://icpc.njust.edu.cn/Problem/Hdu/2838/ 题目解法:题目给出一个1-n的排列,操作只有一种:交换相邻的元素,代价是两个元素之和,问将该序列变成升序 ...

  4. Android适配器

    Android适配器 安卓的适配器在我看来是一个非常重要的知识点,面对形式相同但数据源较多的情况时,适配器是一个比较好的解决方法.数据适配器是建立了数据源与控件之间的适配关系,将数据源转换为控件能够显 ...

  5. OpenCV-Python 鼠标作画 | 八

    目标 了解如何在OpenCV中处理鼠标事件 您将学习以下功能:cv.setMouseCallback() 简单演示 在这里,我们创建一个简单的应用程序,无论我们在哪里双击它,都可以在图像上绘制一个圆. ...

  6. UVA - 11426 欧拉函数(欧拉函数表)

    题意: 给一个数 N ,求 N 范围内所有任意两个数的最大公约数的和. 思路: f 数组存的是第 n 项的 1~n-1 与 n 的gcd的和,sum数组存的是 f 数组的前缀和. sum[n]=f[1 ...

  7. python—nnlog日志

      #when='S'每秒产生一个[D天默认 H M S]# backCount='5'## level是设置打印级别默认是debug级别(下面是四个级别可以指定打印) import nnlog lo ...

  8. -bash: syntax error near unexpected token `newline'问题解决

    原因:bash语法错误,例如, 仔细查看发现语句中不能有'<'和'>',删除这两个符号即可: 问题解决!

  9. NCEP CFSR数据下载

    一.简介 CFSR(Climate Forecast SystemReanalysis)再分析资料使用了 GEOS-5(Goddard EarthObserving System)大气模式与资料同化系 ...

  10. Bootstrap 的基本实现

    bootstrap:   UI插件  YUI,  ElementUI Bootstrap 是最受欢迎的 HTML.CSS 和 JS 框架,用于开发响应式布局.移动设备优先的 WEB 项目. 响应式布局 ...