美文网首页
面对对象编程-python学习20

面对对象编程-python学习20

作者: 郭俊未来学院 | 来源:发表于2019-12-07 17:41 被阅读0次

类的二个关键点:

1、特殊参数:self

特殊参数self的作用:self会接收实例化过程中传入的数据,当实例对象创建后,实例便会代替 self,在代码中运行。

self 是所有实例的替身。

那么如果想在类的内部调用类属性,而实例又还没创建之前,我们就需要有个变量先代替实例接收数据,这个变量就是参数self。

self的作用相当于先给实例占了个位置,等到实例创建好就“功成身退,退位让贤”。

如果想在类的方法内部调用其他方法时,我们也需要用到self来代表实例。

总之,self代表的是类的实例本身,方便数据的流转。对此,我们需要记住两点:第一点:只要在类中用def创建方法时,就必须把第一个参数位置留给 self,并在调用方法时忽略它(不用给self传参)。第二点:当在类的方法内部想调用类属性或其他方法时,就要采用self.属性名或self.方法名的格式。

2、初始化参数

定义初始化方法的格式是def __init__(self),是由init加左右两边的【双】下划线组成( initialize “初始化”的缩写)。

初始化方法的作用在于:当每个实例对象创建时,该方法内的代码无须调用就会自动运行。

利用这个特性,在编写习惯上,我们会在初始化方法内部完成类属性的创建,为类属性设置初始值,这样类中的其他方法就能直接、随时调用。

随着我们想实现的功能愈发复杂,我们会在类内部编写很多的方法,如果我们需要传入的数据能在类中长久保存并能被随时调用,初始化方法就是一个不错的解决方案。

***用类编写程序一个直观的好处就是参数的传递会比普通函数要省事很多,也不必考虑全局变量和局部变量,因为类中的方法可以直接调用属性。

面向过程编程和面向对象编程:

面向过程编程:首先分析出解决问题所需要的步骤(即“第一步做什么,第二步做什么,第三步做什么”),然后用函数实现各个步骤,再依次调用。

面向对象编程:以对象为中心,将计算机程序看作一组对象的集合。

用这种思维设计代码时,考虑的不是程序具体的执行过程(即先做什么后做什么),而是考虑先创建某个类,在类中设定好属性和方法,即是什么,和能做什么。

接着,再以类为模版创建一个实例对象,用这个实例去调用类中定义好的属性和方法即可。

两种方法的对比:

对比图

总结:和之前说过的函数类似,面向对象编程实际上也是一种对代码的封装。只不过,类能封装更多的东西,既能包含操作数据的方法,又能包含数据本身。所以,代码的可复用性也更高。

对于需要长期更新的代码而言,面向对象编程写成的代码结构会更清晰。所以,代码的可读性、可拓展性和可维护性这几个方面都会优于面向过程编程。

****面向对象编程,将代码具体的数据和处理方法都封装在类中,让我们不用完全了解过程也可以调用类中的各种方法。

这个优势让我们可以在 Python 中轻松地调用各种标准库、第三方库和自定义模块(可以简单理解成别人写好的类),这是Python 之所以这么强大和热门的主要原因之一。

相关文章

  • 面对对象编程-python学习20

    类的二个关键点: 1、特殊参数:self 特殊参数self的作用:self会接收实例化过程中传入的数据,当实例对象...

  • python面向对象学习笔记-01

    学习笔记 # 0,OOP-Python面向对象 - Python的面向对象 - 面向对象编程 - 基础 -...

  • 2020-09-08 python学习1

    第0章 0.1 克服编程恐惧 1、学习python 需要面对的2个问题 (1)面对python 不熟悉其编程语法和...

  • Python面对对象编程

    2018年7月3日笔记 1.Python编程方式 面向过程:根据业务逻辑从上到下写代码函数式:将某功能代码封装到函...

  • python面对对象编程

    面向过程编程: 在多函数程序中,许多重要的数据被放置在全局数据区,这样它们可以被所有的函数访问。每个函数都可以具有...

  • Python 面向对象编程

    Python 面向对象编程(一) Python 面向对象编程(一) 虽然Python是解释性语言,但是它是面向对象...

  • 2015.4.15

    晴 学习内容 1.python 廖雪峰python教程面对对象高级编程部分,剩下定制类和元类还没看 2.计算机组成...

  • python面向对象编程(3)|方法和访问权限

    今天我们来学习python面向对象编程的三种方法和访问权限。 方法 上次我们已经说过,python面向对象编程一共...

  • 2019-10-23

    python面向对象编程总结 python中的对象:在其...

  • 读书笔记 | Python学习之旅 Day7

    Python学习之旅 读书笔记系列 Day 7 《Python编程从入门到实践》 第9章 类 知识点 面向对象编程...

网友评论

      本文标题:面对对象编程-python学习20

      本文链接:https://www.haomeiwen.com/subject/bcmrgctx.html