前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python】面向对象 - 继承 ② ( pass 关键字用法 | 多继承优先级 )

【Python】面向对象 - 继承 ② ( pass 关键字用法 | 多继承优先级 )

作者头像
韩曙亮
发布2023-10-11 19:48:55
2400
发布2023-10-11 19:48:55
举报
文章被收录于专栏:韩曙亮的移动开发专栏

一、pass 关键字用法

1、pass 关键字作用

pass 关键字作用 :

pass 是一个空语句 , 表示什么都不做 ,

该语句只起占位符作用 , 用于在编写代码时占一个位置 ,

将来再补充具体的代码实现 ;

2、pass 关键字使用场景

pass 关键字使用场景 :

如果定义一个类 , 只写一个类名 , 其它的成员继承自别的类 ,

类中暂时没有成员要写 , 但是语法要求类下面必须写内容 ,

此时使用 pass 作为类的语句即可 , 保证在编译时 , 语法检查不报错 ;

3、不写函数体和方法体报错

下面的代码中 , 定义一个 Dog 类 , 只是单纯的继承 Animal 和 Walk 两个类 , 但是如果不写类内容 , 编译时报错 :

代码语言:javascript
复制
Indent expected
在这里插入图片描述
在这里插入图片描述

同理 , 函数也是 , 我们只定义 函数名称 与 参数列表 , 返回值 , 不想实现函数体 , 也可以使用 pass 关键字 , 如果不写函数内容 , 也会报上述错误 ;

在这里插入图片描述
在这里插入图片描述

4、代码示例 - 使用 pass 关键字作为函数体和方法体

使用 pass 关键字完整代码示例 :

代码语言:javascript
复制
"""
pass 关键字 代码示例
"""


class Animal:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def make_sound(self):
        pass


class Walk:
    def walk(self):
        print("走路")


class Dog(Animal, Walk):
    pass


dog = Dog("大黄", 2)
print(dog.name)
print(dog.age)
dog.walk()

执行结果 :

代码语言:javascript
复制
D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
大黄
2
走路

Process finished with exit code 0
在这里插入图片描述
在这里插入图片描述

二、多继承优先级


1、多继承优先级简介

在 多继承 中 , 如果多个父类 , 有相同名称的成员 , 那么按照 从左到右 的继承顺序作为 优先级 ;

多继承中 , 写在左侧的 父类 优先级高 , 写在右侧的 父类 优先级低 ;

多继承中 , 先写的保留 , 后写的无效 ;

2、代码示例 - 多继承优先级

在下面的代码中 , 两个父类 Animal 和 Walk 中都定义了 walk 成员方法 ;

在 Dog 类中 , 先继承了 Animal , 后继承了 Walk , 那么调用 Dog 实例对象的 walk 方法时 , 执行的是 Animal 的方法 ;

代码语言:javascript
复制
class Dog(Animal, Walk):
    pass

在 Dog2 类中 , 先继承了 Walk , 后继承了 Animal , 那么调用 Dog 实例对象的 walk 方法时 , 执行的是 Walk 的方法 ;

代码语言:javascript
复制
class Dog2(Walk, Animal):
    pass

代码示例 :

代码语言:javascript
复制
"""
pass 关键字 代码示例
"""


class Animal:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def walk(self):
        print("动物走路")


class Walk:
    def walk(self):
        print("走路")


class Dog(Animal, Walk):
    pass


class Dog2(Walk, Animal):
    pass


dog = Dog("大黄", 2)
dog.walk()

dog2 = Dog2("大黄", 2)
dog2.walk()

执行结果 :

代码语言:javascript
复制
D:\001_Develop\022_Python\Python39\python.exe D:/002_Project/011_Python/HelloPython/Hello.py
动物走路
走路

Process finished with exit code 0
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、pass 关键字用法
    • 1、pass 关键字作用
      • 2、pass 关键字使用场景
        • 3、不写函数体和方法体报错
          • 4、代码示例 - 使用 pass 关键字作为函数体和方法体
          • 二、多继承优先级
            • 1、多继承优先级简介
              • 2、代码示例 - 多继承优先级
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档