python新类似乎违背了广度优先的执行顺序, 对象自定义计数实例化的多少
class TSSS():
def f1(self):
print('from TSSS')
class SSS(TSSS):
def f1(self):
print('from SSS')
class SS():
def f1(self):
print('from SS')
class S(SSS):
# def f1(self):
# print('from S')
pass
class A(S):
def f1(self):
print('from A')
super().f1()
class B(SS):
# class B:
def f1(self):
print('from B')
class C(A,B):
def f1(self):
print('from C')
super().f1()
pass
print(C.mro())
c = C()
c.f1()
print(C.mro())
输出:
[<class '__main__.C'>, <class '__main__.A'>, <class '__main__.S'>, <class '__main__.SSS'>, <class '__main__.TSSS'>, <class '__main__.B'>, <class '__main__.SS'>, <class 'object'>]
from C
from A
from SSS
[<class '__main__.C'>, <class '__main__.A'>, <class '__main__.S'>, <class '__main__.SSS'>, <class '__main__.TSSS'>, <class '__main__.B'>, <class '__main__.SS'>, <class 'object'>]
第二种情景
class TSSS():
def f1(self):
print('from TSSS')
class SSS(TSSS):
def f1(self):
print('from SSS')
class SS(TSSS):
def f1(self):
print('from SS')
class S(SSS):
# def f1(self):
# print('from S')
pass
class A(S):
def f1(self):
print('from A')
super().f1()
class B(SS):
# class B:
def f1(self):
print('from B')
class C(A,B):
def f1(self):
print('from C')
super().f1()
pass
print(C.mro())
c = C()
c.f1()
print(C.mro())
输出:
[<class '__main__.C'>, <class '__main__.A'>, <class '__main__.S'>, <class '__main__.SSS'>, <class '__main__.B'>, <class '__main__.SS'>, <class '__main__.TSSS'>, <class 'object'>]
from C
from A
from SSS
[<class '__main__.C'>, <class '__main__.A'>, <class '__main__.S'>, <class '__main__.SSS'>, <class '__main__.B'>, <class '__main__.SS'>, <class '__main__.TSSS'>, <class 'object'>]
对象自定义计数实例化的多少
* encoding: utf-8 * @author: ty
class LuffyStudent:
school = 'Luffycity'
count =0
def __init__(self,name,sex,age):
self.name1 = name
self.sex1 = sex
self.age1 = age
self.count += 1 #私有的属性
LuffyStudent.count +=1 ##公有的属性
def learn(self):
print('%s is learning'%self.name1)
def eat(self):
print('%s is eating' % self.name1)
stu1 = LuffyStudent('王二丫','女',18)
stu2 = LuffyStudent('李三炮','男',19)
stu3 = LuffyStudent('张铁蛋','男',18)
LuffyStudent.count
print(stu1.count)
print(stu2.count)
print(stu3.count)
print(stu1.__dict__)
print(stu2.__dict__)
print(stu3.__dict__)
输出:
1
2
3
{'name1': '王二丫', 'sex1': '女', 'age1': 18, 'count': 1}
{'name1': '李三炮', 'sex1': '男', 'age1': 19, 'count': 2}
{'name1': '张铁蛋', 'sex1': '男', 'age1': 18, 'count': 3}
写入自己的博客中才能记得长久
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!