类与对象
本文集合了六节视频课+一节实战案例解析帮你彻底搞懂Python的类与对象!包括面向对象简介、对象的创建、类的属性和方法等多个知识介绍。
第一节:什么是面向对象?
Python是一门面向对象的编程语言:所谓的面向对象的语言,简单理解就是语言中的所有操作都是通过对象来进行的。
面向对象的编程思想,将所有的功能统一保存到对应的对象中。
这种方式编写的代码,比较容易阅读,并且比较易于维护,容易复用,这是它的优点。
但是也有缺点,这种方式编写,不太符合常规的思维,编写起来稍微麻烦一点>>点击链接了解更多有关如何编程才是面向对象?
第二节:类的简介
我们目前所学习的对象都是Python内置的对象,但是内置对象并不能满足所有的需求,所以我们在开发中经常需要自定义一些对象。
而类,简单理解,它相当于一个图纸。在程序中我们需要根据类来创建对象,所以,类就是对象的图纸!我们也称对象是类的实例(instance)。
如果多个对象是通过一个类创建的,我们称这些对象是一类对象,像 int() float() bool() str() list() dict() ... 这些都是类,请见如下代码:
a = int(10) # 创建一个int类的实例 等价于 a = 10
类是如何创建对象的?使用类来创建对象,就像调用一个函数一样>>点击链接了解更多内容
第三节:对象的创建流程
上节课我们介绍了使用类来创建对象,就像调用一个函数一样,那么它是如何完成相对应的功能的呢?
简化分为三步,首先创建一个变量,然后在内存中创建一个新对象,之后将对象的id赋值给变量。>>点击链接了解详细内容
第四节:类是如何定义的?
类和对象都是对现实生活中或程序中的内容的抽象。实际上所有的事物都是由两部分组成:数据(属性)和行为(方法)。
在类的代码块中,我们可以定义变量和函数,变量会成为该类实例的公共属性;函数会成为该类实例的公共方法。
定义变量
在类的代码块中,我们可以定义变量和函数,变量会成为该类实例的公共属性,所有的该类实例都可以通过 对象.属性名
的形式访问。
定义函数
在类中也可以定义函数,类中的定义的函数,我们称为该类实例的公共方法。所有的该类实例都可以通过 对象.方法名()
的形式调用方法。>>点击链接了解详细内容
第五节:类的属性和方法
在之前的课程中我们讲过为什么实例可以访问到类中的属性和方法?那是因为类中定义的属性和方法都是公共的,任何该类实例都可以访问。
当我们调用一个对象的属性时,解析器会先在当前对象中寻找是否含有该属性,如果有,则直接返回当前的对象的属性值,如果没有,则去当前对象的类对象中去寻找,如果有则返回类对象的属性值,如果没有则报错!
一般情况下,属性保存到实例对象中,而方法保存到类对象中。>>点击链接了解更多内容
第六节:类的特殊方法init
在类中可以定义一些特殊方法(魔术方法),特殊方法都是以__
开头,__
结尾的方法,特殊方法不需要我们自己调用。
init就是Python的一种特殊方法,会在对象创建以后离开执行,可以用来向新创建的对象中初始化属性,调用类创建对象时,类后边的所有参数都会依次传递到init()中。
到这里类与对象章节就基本结束了,总结一下类的基本结构>>点击链接查看类的基本结构总结
第七节:类与对象的案例实战案例解析
尝试自定义一个表示狗的类(Dog),它应该包括name、 age、gender、height等这些属性和jiao()、yao()、run()等这些行为。
可以自己先根据上面学习到的内容进行编写,具体的代码>>点击链接查看!
但是思考一下:目前我们可以直接通过 对象.属性
的方式来修改属性的值,这种方式导致对象中的属性可以随意修改。这是非常的不安全的:值可以任意修改,不论对错。
现在我们就需要一种方式来增强数据的安全性:
1.属性不能随意修改(我让你改你才能改,不让你改你就不能改)
2.属性不能修改为任意的值(年龄不能是负数)
有关类与对象的知识我们就讲到这里了,思考该如何才能保证数据的安全性呢?
获取更多知识请订阅Python学习站官方技术圈学习!