~玉米糊~
慢慢来,也会很快。 非宁静无以志学,学什么都一样,慢慢打基础,找规律、认真、坚持,其余的交给时间。
随笔 - 117,  文章 - 17,  评论 - 1,  阅读 - 82072

1. python是否支持多继承,请举例说明

支持多继承

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Calculator:
    def calculate(self, expression):
        return eval(expression)
 
class MyPrint:
    def print(self, msg):
        print('msg:', msg)
 
class MyCalculator1(Calculator, MyPrint):
    pass
 
my1 = MyCalculator1()
v = my1.calculate("1 + 3 * 6")
my1.print(v)

  

2. 如果python类的多个父类存在相同的成员,按着什么规则处理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class Calculator:
    def calculate(self, expression):
        self.value = eval(expression)
        return self.value
 
    def printResult(self):
        print('计算结果:{}'.format(self.value))
 
class MyPrint:
    def print(self, msg):
        print('msg:', msg)
 
    def printResult(self):
        print('result:{}'.format(self.value))
 
class MyCalculator1(Calculator, MyPrint):
    pass
 
class MyCalculator2(MyPrint, Calculator):
    pass
 
my1 = MyCalculator1()
v = my1.calculate("1 + 3 * 6")
my1.print(v)
my1.printResult()
 
my2 = MyCalculator2()
v = my2.calculate("1 + 3 * 6")
my2.print(v)
my2.printResult()

 

msg: 19
计算结果:19
msg: 19
result:19

 

如果多个父类存在冲突的成员,那么会使用最先遇到的成员(按照继承类的先后顺序)

posted on   yuminhu  阅读(38)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示