复习python的__call__ __str__ __repr__ __getattr__函数 整理
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__函数 整理的更多相关文章
- Python内置的字符串处理函数整理
Python内置的字符串处理函数整理 作者: 字体:[增加 减小] 类型:转载 时间:2013-01-29我要评论 Python内置的字符串处理函数整理,收集常用的Python 内置的各种字符串处理 ...
- Python的程序结构[1] -> 方法/Method[4] -> 魔术方法 __call__ / __str__ / __repr__
__call__ 方法 __call__ 是当对象被调用时会调用的方法,允许一个对象(类的实例等)像函数一样被调用,也可以传入参数. 1 class Foo(): 2 def __init__(sel ...
- python基础---- __getattribute__----__str__,__repr__,__format__----__doc__----__module__和__class__
目录: 一. __getattribute__ 二.__str__,__repr__,__format__ 三.__doc__ 四.__module__和__class__ 一. __getattri ...
- Python——详解__str__, __repr__和__format__
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Python专题的第10篇文章,我们来聊聊Python当中的类. 打印实例 我们先从类和对象当中最简单的打印输出开始讲起,打印一个实例 ...
- day29 类中的内置函数方法 __str__ __repr__ __call__ isinstance() issubclass()
__str__()__repr__()__len__() str() 转字符串repr() 让字符原形毕露的方法len() 计算长度 内置的方法很多,但是并不是全部都在object中,比如len(), ...
- python的__call__、__str__、__repr__、__init__、__class__、__name___、__all__、__doc__、__del__等魔术方法的作用
python中,一切都是对象 在Python中,所有以“__”双下划线包起来的方法,都统称为“Magic Method”--魔术方法 1.__call__:作用是把类实例变成一个可调用对象 在Pyth ...
- python之反射和内置函数__str__、__repr__
一.反射 反射类中的变量 反射对象中的变量 反射模块中的变量 反射本文件中的变量 .定义:使用字符串数据类型的变量名 来获取这个变量的值 例如: name = 'xiaoming' print(nam ...
- python面对对象编程------4:类基本的特殊方法__str__,__repr__,__hash__,__new__,__bool__,6大比较方法
一:string相关:__str__(),__repr__(),__format__() str方法更面向人类阅读,print()使用的就是str repr方法更面对python,目标是希望生成一个放 ...
- python 中的 %s,%r,__str__,__repr__
1.%s,%r的区别 在进行格式化输出时,%r 与 %s 的区别就好比 repr() 函数处理对象与 str() 函数处理对象的差别. %s ⇒ str(),比较智能: %r ⇒ repr(),处理较 ...
随机推荐
- gdb中的gef插件
地址 https://github.com/hugsy/gef # via the install script #下载 `gef.sh` 并执行 wget -q -O- https://github ...
- socket基本语法和粘包
一.基本语法 127.0.0.1 是本地回环地址 客户端 ...
- C 2013笔试题
1.把整数分解成素数 如90=2*3*3*5 [见2015年] 方法一: int main() { int n, i=2; printf("\nInput:"); scanf(&q ...
- 图-连通分量-DFS-并查集-695. 岛屿的最大面积
2020-03-15 16:41:45 问题描述: 给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合.你可以假设二 ...
- arcgis发布服务后显示证书不安全,将https改为http
arcgis server发布服务后显示证书不安全,无法浏览. 要通过https://localhost:port/arcgis/admin作如下修改 update之后地图服务会重启,耐心等待一会儿就 ...
- spring-cloud-gateway静态路由
为什么引入 API 网关 使用 API 网关后的优点如下: 易于监控.可以在网关收集监控数据并将其推送到外部系统进行分析. 易于认证.可以在网关上进行认证,然后再将请求转发到后端的微服务,而无须在每个 ...
- ftp 无法显示远程文件夹
翻阅了网上前辈们的答案,都未能解决,所以就研究了一下 不需要防火墙的情况,关闭防火墙即可 下面使用的iptables防火墙验证的,其他的请自行验证 研究了好久,发现ftp使用端口波动很大,大概在300 ...
- Flutter 实现虎牙/斗鱼 弹幕效果
老孟导读:用Flutter实现弹幕功能,轻松实现虎牙.斗鱼的弹幕效果. 先来一张效果图: 实现原理 弹幕的实现原理非常简单,即将一条弹幕从左侧平移到右侧,当然我们要计算弹幕垂直方向上的偏移,不然所有的 ...
- 下载安装配置 Spark-2.4.5 以及 sbt1.3.8 打包程序
文章更新于:2020-03-29 按照惯例,文件附上链接放在文首. 文件名:spark-2.4.5-bin-without-hadoop.tgz 文件大小:159 MB 下载链接:https://mi ...
- MTK Android [输入法]客制化系统默认输入法-搜狗输入法
1.frameworks/base/packages/SettingsProvider/res/values/defaults.xml <!--Sogou input method is use ...