首页 > 编程语言 >python 类的继承

python 类的继承

时间:2023-10-28 18:13:43浏览次数:29  
标签:__ python 子类 self 打印 继承 print 父类

假设父类:

class Parent(object):
def __init__(self):
print("打印父类")
print(__class__)
self.p_name = "父类属性"
self.p_code = "10000"
def get_parent_function(self):
print("打印父类方法")
def get_common_function(self):
print("打印公共方法")

子类:
from test_class_parent import Parent
class Child(Parent):
def __init__(self):
super(Parent, self).__init__() #子类在继承父类初始化时,如果super方法指定父类类名时,则父类的__init__()方法不会在子类的__init__()方法执行时执行,
同时子类如未定义父类的同名属性,则无法访问父类的属性,如执行结果1中:父类的self.p_code子类无法访问
        #super(Child, self).__init__() #子类在继承父类初始化时,如果super方法指定子类类名时,则父类的__init__()方法会在子类的__init__()方法执行时执行,
                                        同时子类如未定义父类的同名属性,子类仍可以访问父类的属性,如父类的self.p_code子类访问正常

print("打印子类")
print(__class__)
self.p_name = "子类属性"
def get_parent_function(self):
print("打印子类方法")
if __name__ == '__main__':
child = Child()
child.get_parent_function()
child.get_common_function()
print(child.p_code)

执行子类结果1如下:

G:\pyt\venv\Scripts\python.exe G:/test_app/test_class_child.py
打印子类
<class '__main__.Child'>
打印子类方法
打印公共方法
Traceback (most recent call last):
File "G:/test_app/test_class_child.py", line 25, in <module>
print(child.p_code)
AttributeError: 'Child' object has no attribute 'p_code'

Process finished with exit code 1

执行子类结果2如下:

G:\pyt\venv\Scripts\python.exe G:/test_app/test_class_child.py
打印父类
<class 'test_class_parent.Parent'>
打印子类
<class '__main__.Child'>
打印子类方法
打印公共方法
10000

Process finished with exit code 0

 

标签:__,python,子类,self,打印,继承,print,父类
From: https://www.cnblogs.com/yinzone/p/17794393.html

相关文章

  • 【ArcPy】Python工具的参数校验
    在updateMessages方法中检查输入图层数据源的工作空间是否是本地数据,如果不是,设置错误。在updateParameters方法中从图层派生出第4个参数,即输出要素类的路径。注意该参数的类型需要是“派生(Derived)”importarcpyclassToolValidator(object):"""Classforvalidatingatoo......
  • 【Python数据可视化】2023中秋国庆电影票房数据
    ......
  • Python基础知识点
    一:常数、变量和数据类型1。常数和变量的差异一个程序通常都会有被处理的对象,而这些对象在被处理之前要以一些特定的类型存放在内存的某一个位置,需要的时候再拿出来处理。程序设计语言会把放置数据的那些内存位置都给一个名字,并把这个概念以“变量”来命名。放在这些位置的里面的数......
  • allure使用,python
    1、安装pytest2、安装allure-pytest3、下载allurepipinstallpytestpipinstallallure-pytest下载allure下载链接:https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.13.3/配置环境变量 ......
  • python.exe -m pip install --upgrade pip什么问题
    python.exe-mpipinstall--upgradepip命令的目的是升级Python包管理工具pip到最新版本。这通常是一个有用的操作,以确保你的pip版本是最新的,以便更好地管理Python包和依赖关系。但是,这个命令可能会遇到一些问题,具体取决于你的系统和安装环境。以下是一些可能的问题和......
  • Python变量的作用域教程
    在写代码的时候,免不了要使用变量。但程序中的一个变量并不一定是在哪里都可以被使用,根据情况不同,会有不同的“有效范围”。看这样一段代码:deffunc(x):print('Xinthebeginningoffunc(x):',x)x=2print('Xintheendoffunc(x):',x)x=50fu......
  • Python中最常用的5种线程锁,你都会用吗
    对于日常开发者来讲很少会使用到本章节的内容,但是对框架作者等是必备知识,同时也是高频的面试常见问题。1.线程安全线程安全是多线程或多进程编程中的一个概念,在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现......
  • Python reversed函数及用法
    reserved()是Pyton内置函数之一,其功能是对于给定的序列(包括列表、元组、字符串以及range(n)区间),该函数可以返回一个逆序序列的迭代器(用于遍历该逆序序列)。reserved()函数的语法格式如下:reversed(seq)其中,seq可以是列表,元素,字符串以及range()生成的区间列表。下面程......
  • Python数据结构——链表
    链表(LinkedList)是一种基本的数据结构,用于组织和管理数据。它是由一系列节点(Node)组成的数据结构,每个节点包含一个数据元素和指向下一个节点的引用。链表是一种非线性数据结构,与数组不同,它可以根据需要动态分配内存。什么是链表?链表是由节点组成的数据结构,每个节点包含两部分:数据元......
  • Python合并多个Excel文件中的指定sheet
    本文将介绍一个用于合并多个Excel文件中指定sheet的Python代码。这个功能可以方便地整理和分析数据。我们将逐步解释代码的每个部分,并提供示例用法。导入库首先,我们导入了需要使用的三个库:os、pandas和time。这些库分别用于操作文件和文件夹、处理Excel文件以及计算程序执行时间......