知行编程网知行编程网  2022-11-02 04:00 知行编程网 隐藏边栏  4 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于详解Python面向对象编程之类、实例、方法的相关知识,希望可以帮到处于编程学习途中的小伙伴

详细讲解 Python 面向对象的编程类、示例和方法


面向对象编程

面向过程的编程:面向过程的编程,简称POP。在前面的介绍中,大部分使用了面向过程的思想。面向过程的思想是一种以事件为中心的编程思想,即分析解决问题所需的步骤,然后用函数实现编写步骤,将大函数切割成小函数,依次调用。

面向对象编程:Object Oriented Programming,简称OOP。面向对象的思想是一种以对象为中心的编程思想,程序的执行过程就是各种对象之间传递一系列信息的过程。

什么是对象?在 Python 中,所有的数据类型都可以看作对象,“一切都是对象”。

类 Class

类,类,是面向对象编程中最重要的概念之一。类是抽象模板,实例是从类创建的对象。例如:

实例
杯子 马克杯、玻璃杯、高脚杯...
动物 猫、狗、兔子...
电器 冰箱、电视、空调...

类的定义

在Python中,通过class关键字来定义一个类:

class Animal(object):
    pass

动物是一个类名。类名一般以大写字母开头,后跟()表示该类继承自哪个类。如果没有合适的继承类,就使用object,因为所有的类都会继承这个类,而继承是面向对象的三。稍后将介绍其中一项重要功能。

类的属性

完成类的定义后,我们就可以定义类的属性了,比如:

class Animal(object):
    name = 'animal'

调用其属性时,以“对象名.属性名”的形式调用,如:

>>>Animal.name
animal

实例 Instance

Instance,实例,是面向对象编程中最重要的概念之一。实例是从类创建的对象。实际上,面向对象编程就是使用“类”和“实例”。

实例的定义

有了类之后,就可以根据类来定义对应的实例。

>>>dog = Animal()>>>dog
<__main__.Animal object at 0x0000000001DB8780>

上面dog就是Animal的一个实例,后面的0x0000000001DB8780便是内存地址。

实例的属性

同样的,我们可以定义实例的属性

>>>dog.name = 'dog'
>>>dog.name
dog

由于类是实例的模板,一般来说,当我们定义一个类时,可以绑定对应实例的属性。这就需要在类中定义一个__init__方法(方法类似于函数,后面会介绍),比如

class Animal(object):

    name = 'animal'
    
    def __init__(self,name,age):
        self.name = name
        self.age = age

注意__init__方法的第一个参数始终是self,表示创建实例本身,self指向实例,然后加上需要的参数。这样在创建实例的时候必须要输入相应的参数,而self参数则不需要输入,因为Python解释器会自己传入实例变量。

>>>dog = Animal('dog',3)
>>>dog.name
dog
>>>dog.age
3

需要注意的是,实例可以访问其类的属性。比如我们删除dog的name属性,再次调用。

>>>del dog.name
>>>dog.name
animal

可以看出,在dog中访问Animal的name属性,当dog有name属性时,优先访问dog的属性。

方法

方法可以理解为类中定义的函数。与函数的区别在于方法的第一个参数必须是self,其他与函数相同。也可以使用默认参数、可变参数、关键字参数和命名键。字参数。

上面的 __init__ 是一个方法。当然,我们也可以定义其他方法。例如,我们给 Animal 添加一个 say 方法:

class Animal(object):

    name = 'animal'
    
    def __init__(self,name,age):
        self.name = name
        self.age = age

    def say(self):
        print('wow...wow')

可以通过实例调用方法,形式为“实例名.方法名(参数)”,如

>>>dog = Animal('dog',3)
>>>dog.say()
wow...wow

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享