你的例子是错误的,python不支持函数重载。后定义的函数会直接覆盖之前定义的同名函数。

想要实现类似你例子的效果,应该这样:

class MyClass(BaseClassA, BaseClassB):

def __init__(self, x=0, y=0):

self.x = x

self.y = y

写例子前最好先自己实验一把。

回复引用

#2楼 xiaoyuer323[未注册用户]2005-08-26 21:00

Qiangning Hong 说得对,python是不支持函数重载的,而且它的Function Programming也一般,不是很强大。

回复引用

#3楼[楼主] FantasySoft 2005-08-27 02:20

To All: 不好意思,文中的代码确实是错的。感觉很惭愧,我尝试了两种形式的构造函数,却忘记了Python不支持函数重载的特性。 What a shame!

谢谢Qiangning Hong的指正,非常感谢! 我以后会更加细心严谨的,trust me。

支持(0)反对(0)

回复引用

#4楼 Confach 2006-05-24 15:22

__init__不是构造函数,,但是其功能与构造函数相似,,姑且认为是Python里的构造函数.一般的构造函数是对象还没有构造出来时调用它,但是在python里确是对象构造好后才调用它.

支持(0)反对(0)

回复引用

#5楼 huangyi[匿名][未注册用户]2006-12-11 15:54

"""

__init__不是构造函数,,但是其功能与构造函数相似,,姑且认为是Python里的构造函数.一般的构造函数是对象还没有构造出来时调用它,但是在python里确是对象构造好后才调用它.

"""

非也非也,不错, __init__ 确实是在对象构造完成后调用它来进行初始化的,不过哪个面向对象的语言不是如此呢?难道你可以在 java 或 c# 的构造函数中控制对象构建过程的细节?呵呵。

事实上,__init__ 方法被调用前,会先调用 class 的方法 __new__,由它返回该 class 的实例,然后调用该实例的 __init__ 方法。

也就是说,假设有如下的 class:

class Temp(object):

def __init__(self, a):

self.a = a

那么 obj = Temp(1) 其实等价于:

obj = Temp.__new__(Temp)

obj.__init(1)

__new__ 方法如果没有被重载最终还是调用到 type.__new__

回复引用

#6楼 wenlonghor 2013-08-26 15:50

写的很好写的很好 ,谢谢楼主

python里的class_Python中的Class的讨论相关推荐

  1. python装饰器class_Python中的各种装饰器详解

    Python装饰器,分两部分,一是装饰器本身的定义,一是被装饰器对象的定义. 一.函数式装饰器:装饰器本身是一个函数. 1.装饰函数:被装饰对象是一个函数 [1]装饰器无参数: a.被装饰对象无参数: ...

  2. python list排序_python里对list中的整数求平均并排序

    python里对list中的整数求平均并排序 本文主要记述了使用Python将list重点整数求平均值之后在进行排列的过程,并把代码分享给大家, 问题 定义一个int型的一维数组,包含40个元素,用来 ...

  3. 下列哪个不是目前python里的内置模块-python中那些小众但有用的内置模块

    今天带来的是python里一些小众但是却比较实用的python库,一起来看看吧! pprint:更清晰的打印 pprint 是 pretty printer 的缩写,用来打印 Python 数据结构, ...

  4. python中的format什么意思中文-python里format什么意思

    format是python2.6新增的一个格式化字符串的方法,相对于老版的%格式方法,它有很多优点. 1.不需要理会数据类型的问题,在%方法中%s只能替代字符串类型(推荐学习:Python视频教程) ...

  5. python里的shell是什么_python中的shell操作

    http://blog.csdn.net/meng_tianshi/article/details/6682317 首先介绍一个函数: os.system(command) 这个函数可以调用shell ...

  6. python中set什么意思_set在python里是什么意思

    set在python里是什么意思? set是一组数,无序,内容又不能重复,通过调用set()方法创建:>>> s = set(['A', 'B', 'C']) 对于访问一个set的意 ...

  7. python里endswith_Python中endswith()函数的基本使用

    Python中endswith()函数的基本使用 函数:endswith() 作用:判断字符串是否以指定字符或子字符串结尾,常用于判断文件类型 相关函数:判断字符串开头 startswith() 一. ...

  8. python里help和dir的区别_Python中dir()与help()的使用

    python内置了很多内置函数.类方法属性及各种模块.当我们想要当我们想要了解某种类型有哪些属性方法以及每种方法该怎么使用时,我们可以使用dir()函数和help()函数在python ide交互式模 ...

  9. python里面的pip是什么意思_python中的pip是什么意思

    pip是Python的包管理器.这意味着它是一个工具,允许你安装和管理不属于标准库的其他库和依赖. 软件包管理极其重要,所以自 Python3 的 3.4 版本以及 Python2 的 2.7.9 版 ...

最新文章

  1. 甩锅!偷懒!PUA!转嫁压力!铲除异己!压榨下属!这就是职场leader真面目!...
  2. java 之 面试题-银行业务调度
  3. 访问有用户名和密码的网络共享,实现数据导入
  4. 最后生成神么格式的代码_智能扩充机器人的“标准问”库之Query生成
  5. 逻辑地址,线性地址,物理地址
  6. Log4j配置文件解读和模板页收藏
  7. spark-on-yarn安装centos
  8. python 编码方式总结
  9. 国内搭建vite vue和国外的不一样的,跟着教程会踩很多坑
  10. SpringSecurity应用(二)
  11. 幸运九宫格抽奖系统带后台源码
  12. 企业微信在线客服机器人系统开发
  13. 量子计算实现:量子算法的实现
  14. 产品设计必读书籍推荐
  15. js日期加横杆_JS 替换日期的横杠为斜杠
  16. 创新实训(11)——推荐系统实现之基于流行度和新鲜度的推荐
  17. 逆向看C++ new申请堆对象的构造,析构函数调用
  18. 墨菲定律 Murphy’s Law
  19. java for无限循环
  20. html 实时曲线 js,基于d3.js实现实时刷新的折线图

热门文章

  1. wincc 如何实现上下箭头对数字的增减_由箭头函数引发的对一些概念的认识
  2. matlab输入变量 复数,Matlab带符号变量的复数运算及其画图问题
  3. 计算机三级设计与应用题,计算机数据库三级设计与应用题.pdf
  4. 使用Opencv2遇到error: C2061 语法错误 标识符dest
  5. Qt信号槽如何传递参数
  6. 关于基类和子类构造函数的问题
  7. Tomcat设置监听端口80、配置虚拟主机、安装zrlog博客、日志文件
  8. 邻居子系统:地址解析协议
  9. iphone three20 保存本地的图片
  10. 2010.06.04 电影推荐