苏眠月|我是这样学会了Python中类与对象知识,网上没有看到的见解( 二 )
- 因为 s2['show_me'] 相当于取出了函数 show_me。 而执行函数需要函数对象后用括号 。
- 因此 s2['show_me'](s2) 相当于 show_me(s2)
如果不使用类与对象 , 相信这已经是最好的结果
但此时还是有一个瑕疵 , 当需要输出某学生的信息时 , 需要传入自身给予 show_me 函数:
- 这是在有点丑陋
不管使用什么方式组织代码 , 我们的目的其实是为了更好围绕一个主题管理多个变量(例子中的学生即为主题 , 其中姓名、年龄、分数就是变量) 。
类就是一种管理的手段 , 看看如何定义:
- __init__ 函数是初始化时会执行的函数
- 现在我们不关注 self 实际是什么 , 但是要知道 self.name = name, 这类似往字典写入了数据
那么 , 如何得到一个学生(类比字典实现方式中一个学生信息字典)?非常简单:
- 类名 + 括号, 这种操作称为"实例化" , 因为这会让我们得到一个实体(称之为"实例") , 变量 s1 指向了这个实体
- 对象变量 + 点 + 属性名字, 即可访问对应的数据 。 这类似于 字典对象[属性名字]
- 自定义类型的定义决定了实体的结构 。 比如 __init__ 中执行的代码决定了字典有哪些 key 和 value 。
- 实例化一个实例 , 相当于生成了一个带数据的字典
- 实例(我们只能通过变量 s1 得到对应的实例) 方法 __dict__ 可以获得对象数据字典
- 行8-9:注意函数参数 self
- 行9:此时通过 self.name 获取对象数据字典的 name 对应的数据
- 行12:实例 + 点 + 函数名字 + 括号, 执行对应的函数
对比一下"字典实现"方式中的定义:
推荐阅读
- 穿搭|2020秋季出门这样穿西装,你就是街上最亮的仔
- 烹饪|大虾这样做实在太好吃了,不炒不炸,出锅连汤汁都不剩,超过瘾
- 精心搭配行家|朱一龙时尚现身,上下牛仔穿搭造型迷人,网友:这样的搭配一大把
- 【】从“80后”变“90后” 今天袁隆平许下这样的生日愿望
- 上海嘉定|如何让《民法典》走进群众心里?嘉定这些街镇和单位这样做
- 第一财经|“牛”回头还是“牛“走了?A股尾盘跳水,机构这样看后市
- 2013年|原创还记得《雪花女神龙》里的欧阳明日吗?他现在长这样
- 穿搭|不想穿彩色衣服?也不是不可以,这样穿就很高级
- 中国国际时装周|可盐可甜,这样的独立女性魅力你爱了吗?
- 凤凰娱乐|还记得《雪花女神龙》里的欧阳明日吗?他现在长这样
