function, method, unbound_method, bound_method
2015-08-13 15:57
501 查看
<pre name="code" class="python">class A(object): def uf(): pass def inf(self): pass @classmethod def cf(cls): pass @staticmethod def sf(): pass
<span style="color:#ff0000;">def ccf(cls):</span>
<span style="color:#ff0000;"><span style="white-space:pre"> </span>print ccf</span> print A.uf print A.inf print A.cf print A.sf a=A() print a.uf print a.inf print a.cf print a.sf
print A.ccf
print a.ccf
#A.ccf() # 错误,异常,缺少输入参数。 说明ccf是一个绑类的实例的方法
a.ccf()
</pre><pre name="code" class="python">输出结果:
<unbound method A.uf> <unbound method A.inf> <bound method type.cf of <class '__main__.A'>> <function sf at 0x25037d0> <bound method A.uf of <__main__.A object at 0x2501c50>> <bound method A.inf of <__main__.A object at 0x2501c50>> <bound method type.cf of <class '__main__.A'>> <function sf at 0x25037d0>
<span style="color:#cc0000;"><__main__.A object at 0x28cacd0> <class '__main__.A'></span>
</pre><pre name="code" class="python">总结:
1. 静态方法就是函数对象
2. 绑定方法与未绑定方法是指方法与所属对象的关系
3.<span style="color:#ff6600;"> </span><span style="color:#cc0000;">红色部问说明:绑定类的方法与绑定类的实例的方法在定义上的区别为是否加@classmethod, 与第一个参数是"cls"或“self”无关,“cls”,"self"只是书写上的区分。</span>
相关文章推荐
- meta标签中的http-equiv属性使用介绍
- C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
- Linux上 安装JDK环境变量配置 新手必备
- js实现仿网易点击弹出提示同时背景变暗效果
- Dubbo源码分析——扩展点机制
- 用ant实现java项目的自动构建和部署
- 控制翻转(IOC)与 依赖注入 (DI)
- LoadRunner脚本 《第二篇》
- 【NOI2015】【软件包管理器】【树链剖分】
- hdu 1754__I Hate It
- 数组不初始化的默认值
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
- 在Android中applicationId与package name的那些事
- ASP入门(八)-Request对象
- poj 3020 Antenna Placement(最小路径覆盖 + 构图)
- From 《Soft Skill》——Chapter 69. My personal success book list
- 解析json字符串:eval
- Win10 Mobile预览版10512最新功能 Gif照片已支持512MB内存机型
- OAF学习笔记-3-下拉框级联
- OAF学习笔记-3-下拉框级联