专栏导读
✍ 作者简介:i阿极,CSDN Python领域新星创作者,专注于分享python领域知识。
✍ 本文录入于《数据分析之道》,本专栏针对大学生、初级数据分析工程师精心打造,对python基础知识点逐一击破,不断学习,提升自我。
✍ 订阅后,可以阅读《数据分析之道》中全部文章内容,包含python基础语法、数据结构和文件操作,科学计算,实现文件内容操作,实现数据可视化等等。
✍ 其他专栏:《数据分析案例》 ,《机器学习案例》😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!👍👍👍
📜📜📜如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!💪
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博客,创作不易,如果觉得文章不错,可以点赞👍收藏📁评论📒
📢你的支持和鼓励是我创作的动力❗❗❗