浅谈面向对象、面向过程和面向函数
浅谈面向对象、面向过程和面向函数
在前天的面试中,我被面试官(某位公司的SRE工程师)问道:“请谈谈你对面向对象、面向过程和面向函数的理解”。细细一想,自己大学四年的学习下来,也确实从大一的C语言学到大二的C#,再到大三的Java以及自己在课余时间学习的Python,有很多种编程语言,但是仔细一想,确实没有仔细思考过,他们之间的区别,只是仅仅在学习之后拿过来用,没有进行深度的思考,往往在将来进行开发选用某种语言的时候不那么明确,会带来不必要的麻烦。那么今天就来细说一下什么是面向对象、面向过程以及面向函数。
面向过程
面向对象
面向函数
Python中的b=a
Python中的b=a
本题目中我进行了一个列表赋值的操作,当时没有注意
12345a = [1,2,3,4,5]b = afor i in b: a.remove(i)print(a)
我原本以为这串代码结束之后,输出的结果应该是空列表[],没想到却是[2,4]
经过一番调试之后,我发现a和b居然是一个对象,这时候我恍然大悟,原来b=a这个操作竟然是将b和a指向同一个对象。
要想实现我之前的想法,只需要将我的代码修改一处即可实现。
12345a = [1,2,3,4,5]b = a[:]for i in b: a.remove(i)print(a)
这其中不同之处就在于,我将b=a改成了b=a[:],会创建一个新的与a完全相同的对象,但是与a并不指向同一对象。
想要判断两个对象是否是一致的,我们可以用Python的id()方法来进行判断
12print(id(a))print(id(b))
Vue学习笔记
Vue学习笔记
引言
Vue概述什么是VueVue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式javascript框架
声明式渲染->组件系统->客户端路由->集中式状态管理->项目构建
vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合
官网① 英文官网: https://vuejs.org/
② 中文官网: https://cn.vuejs.org/
Windows Terminal使用分享
Windows Terminal使用分享
引言
在使用ubuntu、Kali等Linux发型版本的时候,我们通常是可以对bash终端进行美化的,而在windows上,我们能用到的bash就只有cmd,也就是那个黑乎乎的很丑的控制台,在 Build 2020 全球开发者大会上,微软发布 Windows Terminal 1.0 正式版。这让我们可以在windows上向Linux一样进行控制台操作了。当然在使用性上还是远不及Linux的bash的,这点希望微软在今后进行不断的优化。
下载参考