前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python第二十课:面向对象和类

Python第二十课:面向对象和类

作者头像
HuangWeiAI
发布2019-07-30 15:07:21
2190
发布2019-07-30 15:07:21
举报
文章被收录于专栏:浊酒清味浊酒清味浊酒清味

什么是类

大家可能听说过Python是一个面向对象(object)的编程语言,当然这个对象不是那个对象。更准确的来说,是因为Python里面有一种叫做类(class)的结构,Python可以实现整齐的编码架构。现在给大家介绍这个神奇的类。和我们之前学习的字典类似,类里面存储这一些函数以及数据,然后可以通过某种方式来访问类里面的函数和数据;反过来,类里面的函数和数据构成了类的主体。下面我们通过一个例子来学习类:

我们建立了一个叫做Student的类,看起来还是有些陌生和复杂。里面有两个函数,第一个函数__init__()看上去挺奇怪的,其实你可以理解成它是每一个类的标配,负责初始化类中的固定元素。比如对于一个学生,其固有属性包括了学生的学号(id)以及学生的名字,有了这两个信息,我们基本可以确定这个学生了。其中self变量起到的作用就是记录和传递我们定义的两个属性id和name。第二个函数,大家比较熟悉了,目的是打印出来学生的姓名和学号,这个函数接收在__init__()中定义好的self,然后把其中的信息打印出来。

当我们定义好了Student这个类之后,我们给Harry同学建立了一个实例,学号是1212,名字叫做Harry Potter。其实在第八行代码完成之后如果你选择运行程序,你是看不到屏幕中打印出来Harry同学的信息。而只有通过第九行代码调用出来infor()函数,我们才能看到打印信息。从这里我们可以看出来,在实例化一个类的时候,也就是第八行代码,代码只会运行__init__()函数,而不会运行infor()函数。

运行结果:

概念和解释

其实对于第一次接触类以及对象这些东西的人来说,短时间理解可能是比较困难的,我们在练习代码的时候也需要理清楚相关概念:

(1)对象(object):通过类定义的数据结构实例。这个概念根植于类的数据以及其实例化,比较抽象,大家可以在学习的过程中慢慢思考。

(2)实例化(instance):创建一个类的实例,类的具体对象。就像我们在第一节中定义了Student这个类,而给Harry同学建立一个Student的类,就是一个实例化操作。

(3)def:在类里边定义函数的方法。这个同我们一般意义上定义函数是一样的。

(4)self:指被访问的对象或者实例的一个变量。Self作为类中的一个独特存在,代表类的实例,用于存储类中的数据和方法。

练习题

1,在__init__()中加入一个print(self),看看它是什么时候会被执行,以及执行结果。

2,在infor(self)中加入一个print(self),看看它是什么时候会被执行,以及执行结果。

3,定义一个关于水果的类,里面存储水果的颜色,价格等等,并用具体的水果实例化。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 浊酒清味 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档