《零基础学 Python(2023 版)》学习笔记 Day0
Hello, 各位小伙伴我是 Tango,从今天开始将陆续发布 2023 版本的《零基础学 Python》专栏,该专栏是尹会生老师在极客时间上的另一个专栏的重制版。
对 Python 感兴趣的小伙伴欢迎大家和我一起来学习(复习)。
58 讲 编程思想不同会导致怎样的代码差异?
面向过程编程
以过程为核心,强调解决问题的流程
先 XXX 再 XXX 然后 XXX
特点:符合时间顺序,易于理解程序逻辑
例子:问把大象装冰箱总共分几步?
答,三步
1. 打开冰箱门
2. 把大象放进去
3. 把冰箱门关上
Python 中的对象
在上面的例子里其实也是包含对影的概念的,比如:大象是一个对象,冰箱也是一个对象。
即,Python 的面向过程也使用了对象,比如:
变量指向的基础数据类型
通过 id()函数可以返回对象的整数标识
通过 is 可以判断是否为同一对象
这里有点意思,整数的内存地址是一样的,然而小数的内存地址却是不一样的。
我们将一个变量赋值给另外一个变量,然后用 is 来判断一下
我们可以看到它们是同一个对象。
如果一个变量是可以变的。例如 list,那么即使两个值是一样的,内存地址也是不一样的,即是不同的两个对象。
面向对象编程
和面向过程编程对比起来,面向对象编程更关注一个对象的定义
有点事更容易抽象和复用
以列表 对象为例,列表数据类型是一类列表
列表有着共同的功能,如:添加,删除,切片等
当你为自己的程序定义了一个列表实体之后,它也具有了列表的全部功能
当你想为列表增加一个新的能力时,只要编写列表数据类型的功能,所有的列表都具备了该能力
面向对象和面向过程编程的区别
面向对象比面向过程更适合复杂度高的编码需求
面向对象适合有更严格的封装需求的程序
面向对象可设计的编程模式更丰富
面向对象涉及的技术概念更多
学习来源:极客时间
好了今天的笔记就是这些了,如果对你有所帮助欢迎转发给你的朋友。
我是 Tango,一个热于分享的程序猿我们下期见。
版权声明: 本文为 InfoQ 作者【IT蜗壳-Tango】的原创文章。
原文链接:【http://xie.infoq.cn/article/9e7b534f310ae5f174b1cf122】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论