python类参数self使用示例


Posted in Python onFebruary 17, 2014
#coding:utf-8
"""
__new__和__init__到底是怎么一回事,看下面的代码
如果类没有定义__new__方法,就从父类继承这个__new__方法。
__new__先于__init__执行,类带括号调用时,发生这样的一件事,
先调用类的__new__方法,放回该类的实例对象,这个实例对象就是__init__方法的第一个参数。
请看代码中tmp,self,p的内存地址都是一样的,都是类的实例对象。
"""
class Foo(object):
    def __new__(cls, *args, **kwargs):
        """如果不覆盖这个__new__方法,也就是说不写这个__new__方法,类会从object
        继承__new__方法完成返回值实例对象
        """
        print "__new__方法先被调用"
        tmp = super(Foo,cls).__new__(cls,*args, **kwargs)
        print id(tmp)
        print type(tmp)
        print isinstance(tmp,Foo)
        print issubclass(type(tmp),Foo)
        return tmp
    def __init__(self):
        """self是python默认传的值,该值是调用__new__的返回值"""
        print "__init__被调用"
        print id(self)

p = Foo()
print id(p)
print type(p)
Python 相关文章推荐
详解python OpenCV学习笔记之直方图均衡化
Feb 08 Python
windows10下python3.5 pip3安装图文教程
Apr 02 Python
python计算列表内各元素的个数实例
Jun 29 Python
浅谈python的dataframe与series的创建方法
Nov 12 Python
python框架django项目部署相关知识详解
Nov 04 Python
python使用正则来处理各种匹配问题
Dec 22 Python
python代码实现TSNE降维数据可视化教程
Feb 28 Python
Python使用os.listdir和os.walk获取文件路径
May 21 Python
python/golang 删除链表中的元素
Sep 14 Python
Python基础详解之邮件处理
Apr 28 Python
Pytorch中Softmax和LogSoftmax的使用详解
Jun 05 Python
Python list列表删除元素的4种方法
Nov 01 Python
python实现爬虫下载漫画示例
Feb 16 #Python
python发送邮件示例(支持中文邮件标题)
Feb 16 #Python
python定时器使用示例分享
Feb 16 #Python
python求素数示例分享
Feb 16 #Python
python检测服务器是否正常
Feb 16 #Python
java直接调用python脚本的例子
Feb 16 #Python
python根据距离和时长计算配速示例
Feb 16 #Python
You might like
php中理解print EOT分界符和echo EOT的用法区别小结
2010/02/21 PHP
详解PHP中的状态模式编程
2015/08/11 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
2019/05/06 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
2020/08/17 PHP
[原创]js获取数组任意个不重复的随机数组元素
2010/03/15 Javascript
一些相见恨晚的 JavaScript 技巧
2010/04/25 Javascript
简略的前端架构心得&&基于editor为例子的编码小技巧
2010/11/25 Javascript
JS定时关闭窗口的实例
2013/05/22 Javascript
实现隔行换色效果的两种方式【实用】
2016/11/27 Javascript
node.js利用redis数据库缓存数据的方法
2017/03/01 Javascript
JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码
2017/03/25 Javascript
vue使用vue-cli快速创建工程
2017/07/28 Javascript
vuex学习之Actions的用法详解
2017/08/29 Javascript
JS设计模式之单例模式(一)
2017/09/29 Javascript
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
浅谈JavaScript 代码整洁之道
2018/10/23 Javascript
js实现弹出框的拖拽效果实例代码详解
2019/04/16 Javascript
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
2019/05/09 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
将Vue组件库更换为按需加载的方法步骤
2020/05/06 Javascript
学习 Vue.js 遇到的那些坑
2021/02/02 Vue.js
[05:36]DOTA2 2015国际邀请赛中国区预选赛第四日TOP10
2015/05/29 DOTA
python使用socket进行简单网络连接的方法
2015/04/29 Python
Python实现类似比特币的加密货币区块链的创建与交易实例
2018/03/20 Python
Ubuntu+python将nii图像保存成png格式
2019/07/18 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
HTML5 video视频字幕的使用和制作方法
2018/05/03 HTML / CSS
SmartBuyGlasses比利时:购买品牌太阳镜和眼镜
2019/08/09 全球购物
毕业生文员求职信
2013/11/03 职场文书
小车司机岗位职责
2013/11/25 职场文书
奥巴马竞选演讲稿
2014/05/15 职场文书
2016教师学习教育法心得体会
2016/01/19 职场文书
Go中的条件语句Switch示例详解
2021/08/23 Golang
Win11筛选键导致键盘失灵怎么解决? Win11关闭筛选键的技巧
2022/04/08 数码科技
动作冒险《Hell Is Us》将采用虚幻5 消灭怪物探索王国
2022/04/13 其他游戏