认识 Python:从计算机基础到python的背景,优缺点,以及前景发展)
一.计算机基础概念1.什么是计算机?很多老一辈的人, 管下面这个叫做计算机. 然鹅, 它只是 计算器, 和计算机是有很大区别的.现在我们所说的计算机, 不光能进行算术运算, 还能进行逻辑判断, 数据存储, 网络通信等等功能, 以至于可以自动的完成非常复杂的工作.以下这些都可以称为 计算机 .总的来说, 一台计算机, 主要由以下这几个重要的组件构成CPU存储器 (内存, 硬盘等)输入设备 (键盘, 鼠标等)输出设备 (显示器, 音响等)CPU 是目前人类科技的巅峰之作. 科技含量能和 CPU 相提并论的, 只有氢弹了.美国限制向中国出口 芯片, 这里的芯片主要指的就是 CPU. 目前国内虽然有自主研发 CPU 的能力,但是整体的水平, 相比于国际一线的 Intel, AMD 等厂商相比, 还是有一定的差距的.有的同学可能说, 重要的硬件不是还有显卡嘛? 都老贵了!其实显卡(GPU)是和 CPU 类似的计算芯片,CPU 是 通用计算芯片, 可以处理各种场景下的各种问题. 就像高校培养的学生. 可以在各个行业各个领域贡献力量.GPU 是 专用计算芯片,特别擅长处理浮点数运算. 就像比特培养的学生, 专注于互联网软件技术.补充知识内存与外存硬盘等的区别内存的存储空间较小外存的存储空间较大。内存的访问速度快外存的访问速度慢。内存比外存成本更高。内存上的数据容易丢失断电数据就没了外存上的数据能够持久化存储相对于内存来说可以存的更长久一般机械硬盘存储数据的时间是几年到十几年断电数据也在。以上的组成结构, 称为冯诺依曼体系结构. 冯诺依曼大佬, 正是计算机的祖师爷.冯诺依曼除了是计算机祖师爷之外, 还是一位数学家, 物理学家, 化学家, 博弈论 的创始人, 参与过曼哈顿计划(担任原子弹制造顾问).据传闻, 冯诺依曼大佬六岁心算八位数除法, 八岁掌握微积分, 十岁通读了世界史, 十七岁发表了第一篇数学方面的论文.计算机的祖师爷, 除了冯诺依曼之外, 还有一位图灵大佬, 也在二战中发挥了至关重要的作用.2.什么是编程?计算机需要硬件赋予之躯体, 也需要软件赋予之灵魂.软件 (或者叫做 程序), 指挥了计算机要按照什么样的规则来执行任务.软件不是凭空出现的而是要被“开发”或“设计”出来的。制作软件本质上就是明确这个软件要完成什么样的任务这个过程称为“编程”也可以叫作“软件开发”。换个例子我对朋友说“帮我带杯奶茶如果排队超过十分钟就算了”。这句话听起来没问题但仔细一想就有歧义——是“超过十分钟就不买”还是“超过十分钟就换一家买”换作计算机它不会猜只会严格按字面执行甚至直接卡住。而这个交代任务的过程其实就是“编程”——只不过执行这个程序的是人而不是计算机。再进一步说编程就是由人告诉计算机接下来该做什么。换个角度看人脑同样能进行算术运算、逻辑判断、数据存储和输入输出……所以也可以把人脑看作一台广义的计算机。编程本身并不是一件轻松的事它相当严谨也相当复杂。正因如此才衍生出一个专门负责编程的职业——程序员。程序员在编程过程中需要借助一种专门的方式与计算机沟通这种方式就是“编程语言”。用编程语言编写软件的具体过程就叫“软件开发”俗称“敲代码”。3.编程语言编程语言大体可以分成三个大类机器语言汇编语言高级语言其中机器语言和汇编语言都是更贴近计算机的, 人类理解起来并不容易.因此目前程序员使用的编程语言主要是高级语言.高级语言的种类有很多很多. 以下列出的都是实际开发中常用的编程语言.根据图的信息可以看到Python 在这个走势中是名列前茅的。二.Python 背景知识1.Python 是咋来的?吉多·范罗苏姆Guido van Rossum) 是一个荷兰程序员(人称龟叔, 名字前三个字母是 Gui),龟叔在 1989 年圣诞节的时候(当时 33 岁), 因为在家里待着无聊, 为了打发时间, 开始了 Python 的开发.第一个正式版本发布于 1991 年.1991 年是一个神奇的年份.Python, 万维网, Linux, Vim, Qt, 第一台笔记本电脑, 都诞生于 1991 年.2.Python 能干什么经历了多年的发展Python 目前是一个应用场景非常广泛的编程语言。科学计算数据分析Web 开发搭建网站自动化运维人工智能爬虫程序自动化测试三.Python 的优缺点1.优点语法言简意赅容易上手。功能强大用途广泛。生态丰富具有海量的成熟第三方库。方便调用 C/C 编写的代码进行高性能/系统级操作。2.缺点执行效率比较弱。对于多核心并发程序支持偏弱。动态类型系统对于大型项目不太友好。四.Python 的前景虽然 Python 的应用场景很多但是纯粹使用 Python 的岗位是比较少见的。以知名互联网招聘网站拉钩网为例设置工作地点为北京工作年限为 3 年以下。搜索 Python 关键字得到的岗位个数为 500 个。搜索 C 关键字得到的岗位个数为 83 个。搜索 C 关键字得到的岗位个数为 77 个。搜索 Java 关键字得到的岗位个数为 158 个。上述数据只是简单采样并不能精确反应岗位的整体情况。更常见到的情况是, 把 Python 作为一个辅助性质的语言.在工作中Python 更像是一件随手可用的工具需要的时候拿起来就能解决问题方便又高效。Python 和其他编程语言本质上并没有什么区别也不存在某个场景“非得用 Python 才能做其他语言做不了”的情况。说到底编程语言只是工具。作为一名程序员最好能做到十八般兵器样样精通。