Python中的面向对象编程学习笔记

Python中的面向对象编程学习笔记

面向对象编程主要有以下几个方面:类(Class)对象(Object)封装(Encapsulation)继承(Inheritance)多态(Polymorphism)

1.类:

1.什么是类:

类(Class)可以看作是创建对象的模板或蓝图。它定义了一组规则和结构,这些规则和结构用于描述如何创建特定类型的对象。可以理解为,类就像是一份建筑图纸,描述了一种特定类型的结构和行为,而基于这份图纸我们可以创建出许多具体的建筑(也就是对象)。

2.类的组成:

**1.属性(Attributes):**也称为字段,是定义在类中的变量。它们表示对象的状态或者特征。例如,如果我们定义一个“汽车”类,那么“颜色”、“品牌”、“型号”等可能就是这个类的属性。

**2.方法(Methods):**是定义在类中的函数,表示对象可以进行的操作或行为。还是“汽车”类的例子,可能的方法有“启动”、“停车”、“加速”等。

一个特点是,类定义了属性和方法,但具体的值是存储在由该类创建的对象(或称为该类的实例)中的。

class Car:
    def __init__(self, color, brand):
        self.color = color
        self.brand = brand

    def start(self):
        print("The car is starting.")

    def stop(self):
        print("The car is stopping.")
#  在这个例子中,Car 类有两个属性 color 和 brand,以及两个方法 start 和 stop。我们可以基于这个类创建出各种颜色和品牌的汽车对象,并分别对它们进行启动和停车等操作。
3.self__init__:

selfself 是一个约定俗成的命名,用来指代实例对象本身。在类的方法中,你会看到 self 被作为第一个参数。这是因为当你通过一个实例对象来调用类的方法时,Python会自动将这个实例对象作为第一个参数传入,这个特性也称为绑定行为。因此,无论你给这个参数取什么名字,它都指的是实例对象本身,但是约定俗成的是取名为 self

class MyClass:
    def print_self(self):
        print(self)
# 调用print_self方法时,Python将my_object对象作为参数传递给self,所以print(self)输出的就是my_object对象。        
my_object = MyClass()
my_object.print_self()  # 输出: <__main__.MyClass object at 0x10d238d90>
print(my_object)  # 输出: <__main__.MyClass object at 0x10d238d90> 

__init____init__是特殊的一种方法,被称为类的构造方法或初始化方法。当我们创建了类的一个新实例(也就是一种对象)时,__init__方法会自动被调用。它的主要作用是进行一些设置或初始化工作,例如我们可以在这个方法中为对象设置一些属性值。

下面是一个简单的例子:

class Car:
    def __init__(self, color, brand):
        self.color = color
        self.brand = brand

在这个例子中,__init__方法接受两个参数 colorbrand,然后将它们保存为对象的属性。当我们创建一个新的 Car 对象时,就需要提供这两个参数,例如 my_car = Car('red', 'Toyota')。然后,我们就可以通过 my_car.colormy_car.brand 访问这些属性了。

2.对象:

1.什么是对象:

在面向对象编程中,对象(Object)是实际存在的一个独立实体,在Python中,它是使用类的定义作为模版创建出来的。以类作为蓝图创建的每个对象都将具有类定义的相同结构(即它们都具有相同的属性和方法),但是它们的属性值可能会各不相同。

例如,如果我们有一个“汽车”类,这个类可能定义了“颜色”、“品牌”等属性,以及“启动”、“停车”等方法。然后,我们可以基于这个类创建出一个颜色是红色、品牌是丰田的汽车对象;也可以创建出一个颜色是蓝色、品牌是本田的汽车对象。这两个对象都是“汽车”类的实例,但它们有各自的属性值,并能独立地进行启动和停车等操作。

2.如何创建对象:

创建对象的这个过程也被称为实例化,因为你正在创建类的一个实例。创建对象非常简单,只需要使用类名并传入适当的参数(如果有的话)即可。

以下是代码示例:

class Car:
    def __init__(self, color, brand):
        self.color = color
        self.brand = brand

    def start(self):
        print(f"The {
     self.color} {
     self.brand} is starting!")

    def stop(self):
        print(f"The {
     self.color} {
     self.brand} is stopping!")

要实例化 Car 类并创建一个对象,你可以这样做:

my_car = Car("black", "BMW")

在上述代码中,我们调用了 Car 类,并传入了两个字符串参数 "black""BMW"。这些参数会被传递给 Car 类的 __init__ 方法,并设置为对象的属性值。

现在,my_carCar 类的一个实例,我们可以调用它的方法:

my_car.start()  # The black BMW is starting!

即使 start 方法使用 self 作为参数,也不需要在调用时显式传入这个参数。Python会自动将 my_car 作为 self 参数传入。

3,实例属性和实例方法:

实例属性:是在类的实例(对象)中定义的属性。每个实例都有其自己的实例属性。即使两个实例对象都来自同一个类,它们的实例属性也可以是完全不同的。

例如:

class Car:
    def __init__(self, color):
        self.color = color  # color 就是一个实例属性

car1 = Car("red")
car2 = Car("blue")
print(car1.color)  # 输出 "red"
print(car2.color)  # 输出 "blue"

在上面的例子中, color 就是 Car 类的一个实例属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值