关于类的方法中_init_会出现的问题:module.__init__() takes at most 2 arguments (3 given)

在类中,要对Python2.7和Python3.*的版本作以区别,我在网上找到其他博主的代码,放在pycharm中运行,出现如下错误:

一开始在百度上各种答案,没有找到很好的解释,后来在Python书中找到了答案问题就是没有很好地对两个版本的Python作以区别。在Python2.7中创建类时,需要做细微的修改,就是在括号内包含单词object:

class ClassName(object)
    --snip--

而在Python3中,在括号内不包含object:

class ClassName()
    --snip--

上面是在创建类过程中需要注意两个版本的不同表述,下面则是在继承中两个Python版本在语法上的不同:

#Python2.7中继承中的语法,要与Python3中区别开来


class 类名即父类(object):
    def _init_(self,形参1,形参2)
        ——snip——
class 子类名(父类名称):
    def _init_(self,形参1,形参2)
        super(子类名,self). _init_(self,形参1,形参2)



#举个简单的小例子,汽车为父类,电动汽车为子类

class Car(object):
    def _init_(self,make,year)
        ——snip——
class ElectricCar(Car):
    def _init_(self,make,year)
        super(子类名,self). _init_(self,make,year)

在Python3中,继承父类语法为:


class 类名即父类():
    def _init_(self,形参1,形参2)
        ——snip——
class 子类名(父类名称):
    def _init_(self,形参1,形参2)
        super(). _init_(self,形参1,形参2)

后期会持续更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值