为了账号安全,请及时绑定邮箱和手机立即绑定

Python创建类的时候,加()和不加有什么区别、联系?

Python创建类的时候,加()和不加有什么区别、联系?

汪汪一只猫 2019-02-23 21:22:36
在Python中定义类class的时候,可以加上(): class Employee(): """这里是Employee的__doc__""" empCount = 0 __name1 = 'safety' def __init__(self,name,salary): self.name = name self.salary = salary Employee.empCount += 1 def display_count(self): print('Totall employee count:{}'.format(Employee.empCount)) def display_employee(self): print('Name:{}, Salary:{}'.format(self.name, self.salary)) 也可以不加上(): class Employee: """这里是Employee的__doc__""" empCount = 0 __name1 = 'safety' def __init__(self,name,salary): self.name = name self.salary = salary Employee.empCount += 1 def display_count(self): print('Totall employee count:{}'.format(Employee.empCount)) def display_employee(self): print('Name:{}, Salary:{}'.format(self.name, self.salary)) 目前我观察的结果是:二者没有区别;实际上它们有无区别呢?如果真的没有区别,那么哪种写法是正确的?我在《Python基础教程》中看到的是不加括号。
查看完整描述

4 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

不需要继承类的话,可加可不加

查看完整回答
反对 回复 2019-03-01
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

不加括号的,或者加括号未继承其他类的是经典类(旧式类) ,加括号继承其他类或者Object的是新式类

python3中都是新式类

查看完整回答
反对 回复 2019-03-01
?
动漫人物

TA贡献1815条经验 获得超10个赞

在《流畅的python》中第一章第3页有一个类是这样的:

class FrenchDeck:
    ranks = ...

然后,在第 6 页的页脚有这样的一个注释:

在 Python2 中,对 object 的继承需要显式地写为 FrenchDeck(object);而在 Python 3 中,这个继承关系是默认的。
查看完整回答
反对 回复 2019-03-01
  • 4 回答
  • 0 关注
  • 477 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号