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中的hypot()方法使用简介
May 18 Python
Python函数可变参数定义及其参数传递方式实例详解
May 25 Python
python开发之tkinter实现图形随鼠标移动的方法
Nov 11 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
Apr 23 Python
Python实现的直接插入排序算法示例
Apr 29 Python
python中不能连接超时的问题及解决方法
Jun 10 Python
详解Django的model查询操作与查询性能优化
Oct 16 Python
flask利用flask-wtf验证上传的文件的方法
Jan 17 Python
python super用法及原理详解
Jan 20 Python
Python itertools.product方法代码实例
Mar 27 Python
Python批量解压&压缩文件夹的示例代码
Apr 04 Python
python神经网络学习 使用Keras进行回归运算
May 04 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
IE6,IE7,IE8下使用Javascript记录光标选中范围(已补全)
2011/08/28 Javascript
javascipt匹配单行和多行注释的正则表达式
2013/11/20 Javascript
JavaScript使用HTML5的window.postMessage实现跨域通信例子
2014/04/11 Javascript
jquery text()方法取标签中的文本
2014/07/25 Javascript
Perl Substr()函数及函数的应用
2015/12/16 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
利用Angularjs中模块ui-route管理状态的方法
2016/12/27 Javascript
jQuery源码解读之extend()与工具方法、实例方法详解
2017/03/30 jQuery
原生JS发送异步数据请求
2017/06/08 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
2017/06/15 Javascript
vue登录路由验证的实现
2017/12/13 Javascript
nodeJS微信分享
2017/12/20 NodeJs
浅谈Webpack 持久化缓存实践
2018/03/22 Javascript
vue axios 简单封装以及思考
2018/10/09 Javascript
JS二级菜单不同实现方法分析【4种方法】
2018/12/21 Javascript
详解Vue中使用Axios拦截器
2019/04/22 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
Python实现全局变量的两个解决方法
2014/07/03 Python
python自然语言编码转换模块codecs介绍
2015/04/08 Python
在Django框架中设置语言偏好的教程
2015/07/27 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
Python matplotlib学习笔记之坐标轴范围
2019/06/28 Python
python用类实现文章敏感词的过滤方法示例
2019/10/27 Python
Django框架models使用group by详解
2020/03/11 Python
python可以用哪些数据库
2020/06/22 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
2020/06/24 Python
Django中ORM的基本使用教程
2020/12/22 Python
软件配置管理有什么好处
2015/04/15 面试题
证婚人经典证婚词
2014/01/09 职场文书
元旦活动感言
2014/03/08 职场文书
法制报告会主持词
2014/04/02 职场文书
2015年端午节活动方案
2015/05/05 职场文书
2015年秋季校长开学典礼致辞
2015/07/29 职场文书
感恩的心主题班会
2015/08/12 职场文书
Axios代理配置及封装响应拦截处理方式
2022/04/07 Vue.js