技术编程|我是这样学会了Python中类与对象知识,网上没有看到的见解
本文插图
最近有许多小伙伴问我要入门 Python 的资料 , 还有小伙伴完全没有入门 Python 就直接购买了我的 pandas 专栏 。 因此我决定写几篇 Python 数据处理分析必备的入门知识系列文章 , 以帮助有需要的小伙伴们更好入门 。
不拆分啥初级中级高级 , 一个专栏直接带你入门到高级应用 , 从数据处理到数据分析!!前言
关于 Python 中的类与对象相关知识 , 网络上已经有非常多的教程 。 但对于初学者来说 , 仍然是一个非常难以理解的事情 。 今天我尝试从一个奇怪的角度讲解使用类、对象相关知识 。 本文需要读者已经了解 Python 中关于 列表、字典、自定义函数基本认知物以类聚
每当我学习一个新的工具 , 都会自问:"为什么我需要它?"
假设我需要3位学生的相关数据(姓名、年龄、成绩) , 那么首先想到的可能是用列表表示 。
其中有2种方式 , 第一种如下:
本文插图
按属性归类 , 如上图 , 姓名单独一个列表
这显然是一种不合理的归类 , 因为需求往往是对一个学生做处理 。
例如 , 打印第2位学生的信息:
本文插图
总是要从多个列表中 , 取出某位置上的数据
如果需要定义统一的处理函数 , 那情况更加糟糕:
本文插图
任何处理学生的函数都需要传入3个数据列表
一种更好的归类方式是:
本文插图
每位学生一个列表
这解决了方式1的缺点 , 但是他仍然不完美 。 毕竟我们要记住姓名是在列表中的第一个位置上 。
这是因为数据结构不合理 , 我们不应该使用列表 。
那么 , 有什么结构能解决这痛点?
没错 , 就是字典:
【技术编程|我是这样学会了Python中类与对象知识,网上没有看到的见解】
本文插图
此时字典中的 key 就是属性名字 , 对于的 value 就是值
现在任何处理函数直接传入某学生的信息字典即可:
本文插图
但是 , 这还是不够完美 , 想想现在的学生信息字典只是保存了数据 。
如果关于学生的操作也能保存在字典中 , 那么就完美了 。
还真可以!
我们可以把函数保存在字典中:
本文插图
注意字典中的 show_me 没有执行函数(因为没有在函数名字后写括号) , 只是保存了函数对象
那么当需要执行的时候 , 只需要:
本文插图
因为 s2['show_me'] 相当于取出了函数 show_me。 而执行函数需要函数对象后用括号 。
因此 s2['show_me'](s2) 相当于 show_me(s2)
最后 , 把创建学生信息字典的过程统一为一个函数:
本文插图
推荐阅读
- 电池技术,相机发烧|防爆相机多少钱能买到?
- 行业互联网|深圳第22届高交会闭幕:一大批新技术新成果集中亮相
- 电池技术|动能转换看烟台|有锂电池的地方就有创为
- 行业互联网|2020十大新兴技术揭晓!每一项都可能颠覆我们的生活
- 行业互联网|英国运输技术论坛发布网络安全标准和指南摘要
- 钉科技|“选择性过滤”太难?方太“死磕”8年突破净水技术
- 中国新闻网|告别各自为营,梧桐车联宣布开放系统“技术底座”
- 腾讯|腾讯举办科学脱口秀X-Talk,聚焦人工智能、基因编辑等前沿技术
- 我是李可|小身材实力超能打的摩米士小白氮化镓100W充电器
- |「推仔说新闻」NVIDIA曝光CPU+GPU加速技术 支持两家处理器
