主动调用其他类的成员(普通调用和super方法调用)

news/2024/7/7 20:20:23

要点说明:

python的语法中主动调用其他类是一个难点和重点,主要两种方法,下面逐一介绍:

1 , 主动调用其他类的普通方法

class Base(object):
    def f1(self):
        print("5个功能")
class Foo(object):         #注意,这两个类没有任何继承关系,多个类也可以使用下面的方法
    def f1(self):
        print("3个功能")
        Base.f1(self)       #类名加方法这种调用方法f1变成了函数,需要自己手动传参

obj = Foo()
obj.f1()

2 , 主动调用其他类——superf方法

class Foo(object):
    def f1(self):
        print("3个功能")
        super().f1()     # #super在执行的过程当中是按照继承关系逐步往上找的
                          #哪个实例进来的就按谁的继承关系找下一个,所以还会按照obj的类的继承关系去找下一个
                          #因此这个super追后会找到Bar类
        
class Bar(object):
    def f1(self):
        print("6个功能")

class Info(Foo,Bar):
    pass
obj = Info()
obj.f1()

 

转载于:https://www.cnblogs.com/zhuhaofeng/p/9562439.html


http://www.niftyadmin.cn/n/2205348.html

相关文章

::v-deep

例如vue项目里v-html解析出来的内容含有img标签,且样式改不掉时用这个。::v-deep img {width: 100%;margin: 0 auto;}

SPI驱动icm20608的实验

文章目录一、设备树二、驱动程序三、应用程序四、测试一、设备树 在pinctrl节点中添加&#xff1a; /* spi驱动 icm20608 */pinctrl_ecspi3: icm20608 {fsl,pins <MX6UL_PAD_UART2_TX_DATA__GPIO1_IO20 0x10b0 /* CS */ /* 只是一个普通的GPIO */MX6UL_PAD_UART2_RX_DA…

uniapp picker时间选择器

//第一种 <picker change"bindPickerChange" :value"index" :range"appointList" range- key"centername"><view class"uni-input">{{appointList[index].centername}}</view></picker>bindPickerC…

linux UART(RS232/485)驱动实验

文章目录一、linux下的UART驱动框架1. uart_driver 注册与注销2. uart_port 的添加与移除3. uart_ops 实现二、6u UART驱动分析1. UART 的 的 platform 驱动框架2. uart_driver 初始化3. uart_port 初始化与添加4. imx_pops 结构体变量三、原理图分析四、RS232驱动编写1. UART3…

echarts - ajax请求举例1

let barYData [];topdatasFive.forEach((item) > {barYData.push({name: item.TopName,value: item.TopCount,});});

echarts问题解决tips

legend: {show: true, //是否显示type: "plain", // 图例的类型 plain:普通图例 scroll:可滚动翻页的图例zlevel: 1, // 所有图形的 zlevel 值。icon: "circle",top: "5%", // bottom:"20%" // 组件离容器的距离right: "5%"…

linux下多点电容触摸屏实验

文章目录一、linux下电容触摸屏驱动框架简介1. 多点触摸&#xff08;MT&#xff09;协议详解2. Type A触摸点信息上报时序3. Type B触摸点信息上报时序4. MT其他事件的使用5. 多点触摸所使用的API函数1. input_mt_init_slots 函数2. input_mt_slot 函数3. input_mt_report_slot…

vue数字滚动举例

export{Odometer }import { Odometer } from ../../assets/js/Odometervar num 4321; var odo1 new Odometer(".countup", {num: num, });