【Python入门】11.面向对象编程之 类、实例、方法的介绍

笔记更新于2019年11月24日,
摘要:面向对象编程的思想介绍;类的定义与属性;实例的定义与属性;方法。


写在前面:为了更好的学习python,博主记录下自己的学习路程。本学习笔记基于廖雪峰的Python教程,如有侵权,请告知删除。欢迎与博主一起学习Pythonヽ( ̄▽ ̄)ノ


目录

面向对象编程
类 Class
• 类的定义
• 类的属性
实例
• 实例的定义
• 实例的属性
方法

面向对象编程

面向过程编程:Procedure Oriented Programming,简称POP。在之前的介绍中,多是用面向过程的思想。面向过程的思想是一种是事件为中心的编程思想,即分析出解决问题所需的步骤,然后用函数把这写步骤实现,把大块函数切成小块函数,并按顺序调用。

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

什么是对象?在Python中,一切的数据类型都可视为对象,“万物皆对象”。

类 Class

Class,类,是面向对象编程最重要的概念之一。类是抽象的模板,而实例就是根据类创建出来的对象。比如:

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

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

class Animal(object):
    pass

Animal是类名,类名一般以大写字母开头,后面( )表示该类从哪一类继承,若没有合适的继承类,就用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就介绍到这里,下一篇将介绍面向对象的三大特征:封装、继承与多态。


以上就是本节的内容,感谢你的阅读!

下一节内容:12.面向对象编程之 三大特征:封装、继承与多态。

有任何问题与想法欢迎评论与吐槽。

和博主一起学习Python吧( ̄▽ ̄)~*

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,000评论 6 13
  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,413评论 4 16
  • 面向对象编程 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思...
    时间之友阅读 884评论 0 0
  • 我们金色的茶壶嘴 倒挂在月儿弯弯绕绕的梦中 那睡眼惺忪的人 是你前世的那个她吗? 我们纷纷扬扬的秘密 蹦跳在儿时玩...
    乌鸦之白阅读 231评论 0 5
  • 工作量:1个名单 1单缔结(346) 点数:1920 总结:今天看到很多有目标的小伙伴,觉得自己还有很多要提升的地...
    甄程很自律阅读 253评论 0 0

友情链接更多精彩内容