Python中的构造函数----折磨了我一个上午的小程序,必须mark一下

作者在学习Python过程中遇到构造函数报错的问题,通过调试发现构造函数和析构函数的标识符两侧需要有两个下划线,这在Python3.5中是必须的。本文详细记录了错误现象及解决过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   最近心血来潮,开始学Python语言,因为有C语言和MATLAB的基础,所以学起来感觉挺顺畅的,属于一门比较易懂的语言。可是,就是今天上午!!看到构造函数和析构函数并运行书上的简单程序加深印象时,频频报错。What's wrong!!!

这一看就是个简单程序,没问题吧。一个类。类中进行初始化。可以传递两个参数,分别是复数的实部和虚部。self不能省略,代表类的对象本身。OK!完全没问题,但是Python3运行的结果是:

Traceback (most recent call last):
  File "C:/Users/baiyun/AppData/Local/Programs/Python/Python35/构造函数示例.py", line 6, in <module>
    x = complex(3.0,-4.5)
TypeError: object() takes no parameters:

百思不得其解!这么简单的程序怎么会报错!最后的结果很吐血。原来是,init两边分别要有两个小横杠才能运行正确!

所以,在Python3.5中,构造函数和析构函数两侧是有两个小横杠,在其他版本是怎样的我就没试过了。有可能_init_和_del_在其他版本的Python中不会报错吧。



评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值