网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月02日漏签0天
python吧 关注:480,469贴子:1,982,554
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 10回复贴,共1页
<<返回python吧
>0< 加载中...

关于类的继承的问题,请教!

  • 只看楼主
  • 收藏

  • 回复
  • hrgb
  • 探花
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
下面的一段代码,可以正常运行,我将Teacher类和Student类后面括号里的基类为空后,照样可以正常运行,请问,这是为什么?
#!/usr/bin/env python
#coding=utf8
class SchoolMember:
def __init__(self, name, age):
self.name = name
self.age = age
print(u*(初始化学校成员:{0})*.format(self.name))
def tell(self):
print(u*姓名:“{0}” 年龄:“{1}”*.format(self.name, self.age), end = **)
class Teacher(SchoolMember):
def __init__(self, name, age, salary):
SchoolMember.__init__(self, name, age)
self.salary = salary
print(u*(初始化老师:{0})*.format(self.name))
def tell(self):
SchoolMember.tell(self)
print(u*薪水:{0:d}*.format(self.salary))
class Student(SchoolMember):
def __init__(self, name, age, marks):
SchoolMember.__init__(self, name, age)
self.marks = marks
print(u*(初始化学生:{0})*.format(self.name))
def tell(self):
SchoolMember.tell(self)
print(u*成绩:“{0:d}”*.format(self.marks))
t = Teacher(u*王老师*, 30, 5000)
s = Student(u*周同学*, 18, 100)
print(*** * 40)
members = (t, s)
for member in members:
member.tell()


  • hrgb
  • 探花
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
晕,发贴吧,缩进都没了。


2026-01-02 14:48:40
广告
不感兴趣
开通SVIP免广告
  • 江湖程序员(大号)
  • 状元
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
类的继承:



  • hrgb
  • 探花
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
啥啥啥。。。一帮人回复的都是什么乱七八糟的,特别是‘儒隐长衫’。。。分明就是个机器人嘛。。。我都给删了。


  • zhoughost
  • 状元
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
墨子


月老
每对新人结婚成功的那一刻,送礼最多的吧友可以获得本次求婚的“月老”称号和成就,去领取
活动截止:2100-01-01
去徽章馆》
  • 善良的林果皞
  • 贡士
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
确定? 我把 class Teacher(SchoolMember): 变成 class Teacher(): 就无法运行了。


  • hrgb
  • 探花
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
回复楼上的,我确定!


  • 善良的林果皞
  • 贡士
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
嗨, 区别在于你使用的是 python 3 版本. 如果你是使用 python 2 , 是会报出错误的。
python 3 版本在 super 的用法简洁了很多, 详情可浏览:
1. http://stackoverflow.com/questions/10482953/python-extending-with-using-super-python-3-vs-python-2
2. http://stackoverflow.com/questions/19608134/why-is-python-3-xs-super-magic
3. https://docs.python.org/3/library/functions.html#super
4. http://rhettinger.wordpress.com/2011/05/26/super-considered-super/
在 python 2 里头:
class Teacher(SchoolMember): #如果你有使用 super 或 SchoolMember 都必须放
----def __init__(self, name, age, salary):
--------SchoolMember.__init__(self, name, age) #允许
--------SchoolMember.tell(self) #允许
--------super(object, self).__init__(object) #召唤 SchoolMember 的 parent (例子, object), 允许
--------super().__init__(name, age) #错误
--------super().tell() #错误
在 python 3 里头:
class Teacher(SchoolMember): #如果你有使用 super(空白) 才必须放
----def __init__(self, name, age, salary):
--------SchoolMember.__init__(self, name, age) #允许
--------SchoolMember.tell(self) #允许
--------super(object, self).__init__(object) #召唤 SchoolMember 的 parent (例子, object), 允许
--------super().__init__(name, age) #允许
--------super().tell() #允许
以上是我本身观察出来的结论, 没花太多的时间,如有不足之处请多多包涵。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 10回复贴,共1页
<<返回python吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示