【数据分析之道-基础知识(十一)】面向对象

本文介绍了Python中的面向对象编程基础,包括类与对象的概念,属性和方法的使用,以及继承和多态这两个重要的特性。通过实例展示了如何定义和使用类,以及如何通过继承和多态来实现代码的复用和灵活性。文章适合初学者,旨在帮助读者理解和掌握Python的基础知识,为数据分析和编程学习打下坚实基础。
摘要由CSDN通过智能技术生成

在这里插入图片描述

专栏导读

✍ 作者简介:i阿极,CSDN Python领域新星创作者,专注于分享python领域知识。

本文录入于《数据分析之道》,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。
订阅后,可以阅读《数据分析之道》中全部文章内容,包含python基础语法、数据结构和文件操作,科学计算,实现文件内容操作,实现数据可视化等等。
✍ 其他专栏:《数据分析案例》《机器学习案例》

😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!👍👍👍

📜📜📜如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!💪

订阅专栏阅读:《数据分析之道》
【数据分析之道-基础知识(一)】字符串
【数据分析之道-基础知识(二)】列表
【数据分析之道-基础知识(三)】元组
【数据分析之道-基础知识(四)】字典
【数据分析之道-基础知识(五)】集合
【数据分析之道-基础知识(六)】函数
【数据分析之道-基础知识(七)】高级函数
【数据分析之道-基础知识(八)】循环语句
【数据分析之道-基础知识(九)】推导式
【数据分析之道-基础知识(十)】Lambda函数

1、简介

Python 是一种面向对象的编程语言,它提供了丰富的面向对象编程特性和语法。面向对象编程(OOP)是一种编程范式,它将数据和与之相关的操作封装在对象中,通过定义类和实例化对象来实现程序的组织和设计。

在 Python 中,面向对象编程的核心概念包括类(Class)、对象(Object)、属性(Attribute)、方法(Method)、继承(Inheritance)和多态(Polymorphism)等。

2、类与对象

类是对象的蓝图或模板,它定义了一组属性和方法,用于描述具有相同特征和行为的对象的集合。对象是类的实例,它具有类定义的属性和方法。

在 Python 中,定义类使用 class 关键字,通过类创建对象的过程称为实例化。以下是定义一个简单类的示例:

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

    def greet(self):
        print(f"Hello, my name is {self.name}.")

# 创建对象
person1 = Person("Alice", 25)
person2 = Person("Bob", 30)

# 调用对象的方法
person1.greet()
person2.greet()

Person 是一个类,它有两个属性 name 和 age,以及一个方法 greet。通过调用 Person 类的构造函数 init,可以创建 Person 类的实例(对象)。每个对象都有自己的属性值,通过 self 关键字来引用。

3、属性和方法

属性是对象的特征或状态,用于存储对象的数据。方法是对象的行为或操作,用于实现对象的功能。

在类中定义属性和方法时,需要使用特殊的 self 参数,它代表对象自身。通过 self,可以访问和操作对象的属性和方法。

以下是一个包含属性和方法的类示例:

class Rectangle:
    def __init__(self, width, height):
        self.width = width
        self.height = height

    def area(self):
        return self.width * self.height

    def perimeter(self):
        return 2 * (self.width + self.height)

# 创建对象
rectangle = Rectangle(5, 3)

# 调用对象的方法和访问属性
print("Area:", rectangle.area())
print("Perimeter:", rectangle.perimeter())
print("Width:", rectangle.width)
print("Height:", rectangle.height)

Rectangle 类有两个属性 width 和 height,以及两个方法 area 和 perimeter。通过创建 Rectangle 对象并调用对象的方法,可以计算矩形的面积和周长,以及访问矩形的宽度和高度。

4、继承

继承是面向对象编程中的一个重要概念,它允许一个类继承另一个类的属性和方法。通过继承,可以建立类之间的层次结构,从而实现代码的重用和扩展。

在 Python 中,使用 class ChildClass(ParentClass) 的形式来实现继承。子类(派生类)继承了父类(基类)的属性和方法,并可以定义自己的新属性和方法。

以下是一个继承的示例:

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

    def eat(self):
        print("Animal is eating.")

class Dog(Animal):
    def bark(self):
        print("Dog is barking.")

# 创建对象
animal = Animal("Generic Animal")
dog = Dog("Tommy")

# 调用继承的方法和子类的方法
animal.eat()
dog.eat()
dog.bark()

Animal 是一个基类,Dog 是一个派生类,它继承了 Animal 类的属性和方法。通过创建 Animal 和 Dog 对象,并调用它们的方法,可以看到派生类可以访问基类的方法,同时还可以定义自己的新方法。

5、多态

多态是面向对象编程中的另一个重要概念,它允许使用相同的接口来处理不同类型的对象,而不需要知道对象的具体类型。

在 Python 中,多态性是通过方法重写(Method Overriding)实现的。子类可以重写父类的方法,从而在相同的方法调用下表现出不同的行为。

以下是一个多态的示例:

class Shape:
    def area(self):
        pass

class Rectangle(Shape):
    def __init__(self, width, height):
        self.width = width
        self.height = height

    def area(self):
        return self.width * self.height

class Circle(Shape):
    def __init__(self, radius):
        self.radius = radius

    def area(self):
        return 3.14 * self.radius ** 2

# 创建对象
rectangle = Rectangle(5, 3)
circle = Circle(4)

# 调用多态的方法
shapes = [rectangle, circle]
for shape in shapes:
    print("Area:", shape.area())

Shape 是一个基类,Rectangle 和 Circle 是派生类。它们都实现了 Shape 类的 area 方法,但具体的实现不同。通过创建 Rectangle 和 Circle 对象,并将它们放入列表中,然后遍历列表并调用 area 方法,可以看到相同的方法调用根据对象的类型表现出不同的行为。


📢文章下方有交流学习区!一起学习进步!💪💪💪
📢首发CSDN博客,创作不易,如果觉得文章不错,可以点赞👍收藏📁评论📒
📢你的支持和鼓励是我创作的动力❗❗❗

  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

i阿极

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值