Python七天入门(六)- Python面向对象

  在学习Python面向对象编程(OOP)之前,我们先来说明一下面向对象编程和面向过程编程的区别。在此之前我们使用到的编码习惯和思维基本都是面向过程,写一个功能就需要写一段代码,就像工厂的流水线一般,代码从上至下根据顺序进行执行,当我们使用到重复代码的时候工程量巨大,虽然之前所学的函数可以减少代码编程,但是依然无法更好的解决问题,所以我们需要学习面向对象编程;面向对象视万物为对象,任何的事物都可以定义为对象,我们可以为对象添加任何功能和方法,多处使用同一功能的时候,我们也只需调用一次方法即可。

  学习面向对象,我们需要学习以下几个概念:类(class)、对象(instance)、属性(property)、方法(method),我们通过这几个概念的学习来讲解Python的面向对象编程,下面是Python面向对象的代码基本机构。

Python七天入门(六)- Python面向对象_第1张图片 Python七天入门Python面向对象1Python类的基本结构

  什么是Python中的类?

  Python中的类用来定义事物的抽象特点,比如手机有自己特有的属性以及相应的方法。类又有父类和子类,Python中所有的类的父类是object,定义的时候可以不写,默认为object;比如我们定义一个水果Fruit类,其中Fruit的父类就是object,我们在定义一个苹果Apple类,Apple类继承(属于)Fruit类,那么Apple类相对于Fruit类是子类,或者叫做派生类,Fruit类则是Apple类的父类。

Python七天入门(六)- Python面向对象_第2张图片 Python七天入门Python面向对象2Python类的概念和继承

  什么是Python中的对象?

  Python类中所谓的对象就是通过类所创建的实例,是类的具体的对象,也就是Python类中所说的实例化,独享包含类的成员和方法,可以通过实例化的对象调用类中的属性和方法。对象包括id、类型和值,我们通过代码来了解类的实例化,并且查看相应的属性。

Python七天入门(六)- Python面向对象_第3张图片 Python七天入门Python面向对象3Python类中实例化对象

  Python面向对象找那个的属性和方法

  Python类中的属性:Python类中一般都会有自己的属性,属性类似于变量,用来储存数据,一般的类中会有默认的属性,用户也可以进行自定义属性,其中类属性是公用的,而实力属性则是自由的;属性又分私有属性和共有属性,私有属性只能在类和实例内部调用,不可以进行外部调用。

Python七天入门(六)- Python面向对象_第4张图片 Python七天入门Python面向对象4Python类中属性的调用访问和查看所有属性

  Python类中的方法:用于在Python中描述类的功能的函数就叫做方法,方法在面向对象之外就是我们所说的函数,只是我们把函数放在类里面叫做方法而已。与函数 的区别是类中的方法中包含参数self,且作为第一个参数,表示类的实例。

Python七天入门(六)- Python面向对象_第5张图片 Python七天入门Python面向对象5Python类中的方法和调用

  Python面向对象中,无论是属性还是方法,都是类中的成员,以上的内容中只是简单的涉及面向对象的概念内容,其中说到了面向对象的三大特征之一继承,另外两个特征是封装和多态,在天天Python的Python高级中会有关于Python入门的高级内容讲解,这里不过多赘述。

  最后,我们来总结面向对象的优势特点,也是我们以后面试中可能会遇到的问题之一:面向对象编程可以使程序的维护和扩展变得更简单,并且可以大大提高程序开发效率 ,另外,基于面向对象的程序可以使它人更加容易理解你的代码逻辑,从而使团队开发变得更从容。学习更多Python相关内容,请关注天天Python系列教程--【Python七天入门】

你可能感兴趣的:(python基础)