首页 > 编程语言 >Python类对象:属性、继承与多继承

Python类对象:属性、继承与多继承

时间:2023-11-16 12:05:23浏览次数:32  
标签:__ name 继承 self Python print 属性

在Python中,类是创建对象的蓝图。类定义了如何创建对象,并决定了这些对象的属性和行为。本博客将深入探讨Python类对象的属性、继承以及多继承。

  1. 属性

属性是类的特性,它定义了对象的状态。每个对象都有其自己的属性副本。

python复制代码

 class Person: 

 def __init__(self, name, age):
 
 self.name = name      # 实例属性   

 self.age = age        # 实例属性  

 person1 = Person("Alice", 25)
 
 person2 = Person("Bob", 30)

 print(person1.name)   # 输出: Alice  
 

 print(person2.age)     # 输出: 30

在上述例子中,name 和 age 是实例属性,因为每个实例(对象)可以有不同的值。

  1. 继承

继承是面向对象编程中的一个重要概念,它允许我们根据其他类创建新类。子类继承了父类的所有属性和方法。

python复制代码

 class Animal:
 
 def __init__(self, name):

 self.name = name

 def eat(self):
 

 print("Eating...")
 
 class Dog(Animal):   # Dog类继承了Animal类  

 def __init__(self, name, breed):

 super().__init__(name)   # 调用父类的构造函数  

 self.breed = breed

 def bark(self):

 print("Woof!")
 dog = Dog("Buddy", "Golden Retriever")
 

 print(dog.name)      # 输出: Buddy  
 

 print(dog.breed)      # 输出: Golden Retriever  
 

 dog.eat()            # 输出: Eating...  
 

 dog.bark()            # 输出: Woof!

在上述例子中,Dog类继承了Animal类,因此Dog类拥有了Animal类的name属性和eat方法。同时,Dog类还定义了自己的bark方法。

  1. 多继承

多继承是指一个类可以继承多个父类的属性和方法。在Python中,一个类可以通过在括号中列出多个父类来继承多个父类。

python复制代码

 class A:

 def method_a(self):

 print("Method A")

 class B:
 

 def method_b(self):
 

 print("Method B")

 class C(A, B):   # C类继承了A类和B类  

 def __init__(self):
 

 super().__init__()   # 调用父类的构造函数  
 
 c = C()
 
 c.method_a()   # 输出: Method A  

 c.method_b()   # 输出: Method B

在上述例子中,C类继承了A类和B类,因此C类拥有了A类和B类的所有方法和属性。注意,在多继承中,可能会出现方法冲突的情况,这时需要明确指定使用哪个父类的方法。

标签:__,name,继承,self,Python,print,属性
From: https://blog.51cto.com/u_15288375/8415995

相关文章

  • python深度学习——一个简单的全连接神经网络,预测mnist手写数字
    代码来自《python深度学习》第二章:fromtensorflow.keras.datasetsimportmnistfromtensorflowimportkerasfromtensorflow.kerasimportlayers(train_images,train_labels),(test_images,test_labels)=mnist.load_data()print(train_images.shape)print(len(trai......
  • python机器学习算法原理实现——MCMC算法之gibbs采样
    【算法原理】Gibbs采样是一种用于估计多元分布的联合概率分布的方法。在MCNC(Markov Chain Monte Carlo)中,Gibbs采样是一种常用的方法。通俗理解Gibbs采样,可以想象你在一个多维空间中,你需要找到这个空间的某个特定区域(这个区域代表了你感兴趣的分布)。但是,你不能直接看到整个空间,只......
  • OSS+S3+python S3
    OSS是什么? 参考:https://zhuanlan.zhihu.com/p/544661650 ......
  • antd的tree的核心显示属性
     树形组件的概念 ......
  • Python读取pdf、word、excel、ppt、csv和txt文件提取所有文本
    前言本文对使用python读取pdf、word、excel、ppt、csv、txt等常用文件,并提取所有文本的方法进行分享和使用总结。可以读取不同文件的库和方法当然不止下面分享的这些,本文的代码主要目标都是:方便提取文件中所有文本的实现方式。这些库的更多使用方法,请到官方文档中查阅。读取PD......
  • python3修改安全组
    场景:办公网络访问云资源,公司出口IP会变,试试更新到安全组脚本如下:#!/usr/bin/envpython#-*-coding:utf-8-*-#@Time:2023/11/1513:12#@File:security_group.py#@Author:zk_linux#@Software:PyCharm#@Description:importjsonimportsocketfro......
  • Python 获取指定目录所有深层文件路径(包括子目录下的所有文件)
    importosdefget_all_deep_files_in_folder(folder_path):all_files=[]file_paths=os.listdir(folder_path)foriteminfile_paths:fp=os.path.join(folder_path,item)ifos.path.isfile(fp):all_files.append(fp)......
  • python 读取社保年度对账单数据
    """python读取社保年度对账单pdf数据"""importpandasaspdimportpdfplumberpd.set_option('display.width',None)pd.set_option('display.max_rows',None)pd.set_option('display.max_columns',None......
  • python:第八章:macos为python配置环境变量(3.12.0)
    一,查看老版本的python信息:1,启动终端,查看旧的python的版本liuhongdi@192~%python--version Python3.9.12,查看旧的pytnon的安装路径 liuhongdi@192~%whichpython python:aliasedto/Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9二......
  • python:第七章:macos安装python(3.12.0)
    一,下载python点击Downloads->macOS:点击安装包链接下载:二,安装双击下载的安装包,进入安装界面,点继续按钮,如图:一步一步点击继续,此处点击同意按钮:此处点击安装按钮:安装完成后点击关闭按钮即可,如图:说明:刘宏缔的架构森林—专注it技术的博客,网站:https://blo......