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设计模式之观察者模式实例
Apr 26 Python
Python中特殊函数集锦
Jul 27 Python
详解Python 序列化Serialize 和 反序列化Deserialize
Aug 20 Python
Python3之文件读写操作的实例讲解
Jan 23 Python
Python设计模式之代理模式实例详解
Jan 19 Python
Atom Python 配置Python3 解释器的方法
Aug 28 Python
Python可变对象与不可变对象原理解析
Feb 25 Python
Python数据结构dict常用操作代码实例
Mar 12 Python
python爬虫实例之获取动漫截图
May 31 Python
python--shutil移动文件到另一个路径的操作
Jul 13 Python
python编写实现抽奖器
Sep 10 Python
Python中的min及返回最小值索引的操作
May 10 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生成HTML静态页面实例代码
2008/08/31 PHP
PHP整数取余返回负数的相关解决方法
2014/05/15 PHP
PHP常用正则表达式集锦
2014/08/17 PHP
PHP处理会话函数大总结
2015/08/05 PHP
php将一维数组转换为每3个连续值组成的二维数组
2016/05/06 PHP
基于Jquery的开发个代阴影的对话框效果代码
2011/07/28 Javascript
jQuery LigerUI 使用教程表格篇(1)
2012/01/18 Javascript
jquery 取子节点及当前节点属性值
2014/07/25 Javascript
用循环或if语句从json中取数据示例
2014/08/18 Javascript
关闭页面window.location事件未执行的原因及解决方法
2014/09/01 Javascript
javascript如何操作HTML下拉列表标签
2015/08/20 Javascript
Angularjs整合微信UI(weui)
2016/03/15 Javascript
javascript实现滚动效果的数字时钟实例
2016/07/21 Javascript
浅谈Vue的加载顺序探讨
2017/10/25 Javascript
vue实现pdf导出解决生成canvas模糊等问题(推荐)
2018/10/18 Javascript
laydate时间日历插件使用方法详解
2018/11/14 Javascript
layui自定义插件citySelect实现省市区三级联动选择
2019/07/26 Javascript
Servlet返回的数据js解析2种方法
2019/12/12 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
2020/11/03 Javascript
[54:10]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
Python 解析XML文件
2009/04/15 Python
十个Python程序员易犯的错误
2015/12/15 Python
Python 基础教程之str和repr的详解
2017/08/20 Python
Python实现基于二叉树存储结构的堆排序算法示例
2017/12/08 Python
Python字符串的常见操作实例小结
2019/04/08 Python
利用Python绘制有趣的万圣节南瓜怪效果
2019/10/31 Python
Python阶乘求和的代码详解
2020/02/14 Python
Windows下实现将Pascal VOC转化为TFRecords
2020/02/17 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
柏林通行证:Berlin Pass
2018/04/11 全球购物
国际领先的在线时尚服装和配饰店:DressLily
2019/03/03 全球购物
linux面试题参考答案(7)
2014/07/24 面试题
干部行政关系介绍信
2014/01/17 职场文书
技术经济专业求职信
2014/09/03 职场文书
2014年老干部工作总结
2014/11/21 职场文书
Python OpenCV之常用滤波器使用详解
2022/04/07 Python