【Python】认识 Python

一、计算机基础概念

1、什么是计算机

很多老一辈的人,管下面这个叫做计算机。然而,它只是 “计算器”,和计算机是有很大区别的。

现在我们所说的计算机,不光能进行算术运算,还能进行逻辑判断、数据存储、网络通信等等功能,以至于可以自动的完成非常复杂的工作。以下这些都可以称为 “计算机”:

总的来说, 一台计算机 主要由以下这几个重要的组件构成:
  • CPU - 中央处理器,处理算术运算、逻辑运算等
  • 存储器内存,硬盘等存储数据)
  • 输入设备键盘,鼠标,麦克风等负责和用户进行交互)
  • 输出设备显示器,音响,耳机,打印机等负责和用户进行交互)

CPU 是目前人类科技的巅峰之作,科技含量能和 CPU 相提并论的,只有氢弹了。美国限制向中国出口 “芯片”,这里的芯片主要指的就是 CPU。目前国内虽然有自主研发 CPU 的能力,但是整体的水平相比于国际一线的 Intel,AMD 等厂商相比,还是有一定的差距的。

重要的硬件不是还有显卡吗?但是太贵了。

内存与外存(硬盘等)的区别

  1. 内存的存储空间较小,外存的存储空间较大。
  2. 内存的访问速度快,外存的访问速度慢。
  3. 内存比外存成本更高。
  4. 内存上的数据容易丢失(断电,数据就没了),外存上的数据能够持久化存储(相对于内存来说可以存的更长久,一般机械硬盘存储数据的时间是几年到十几年)(断电数据也在)。

有的设备既是输入设备,又是输出设备,比如触摸屏、网卡等。

  • 显卡并没有被归纳到上面,其实显卡(GPU)是和 CPU 类似的计算芯片,CPU 是 “通用计算芯片”,可以处理各种场景下的各种问题(类比大学毕业生)。而 GPU 是 “专用计算芯片”,特别擅长处理浮点数运算(类比计算机专业学生)。

以上的组成结构称为 “冯诺依曼体系结构”,冯诺依曼可以称为计算机的祖师爷。

冯诺依曼除了是计算机祖师爷之外,还是一位数学家、物理学家、化学家、“博弈论” 的创始人,参与过曼哈顿计划(担任原子弹制造顾问)。据传闻,冯诺依曼大佬六岁心算八位数除法,八岁掌握微积分,十岁通读了世界史,十七岁发表了第一篇数学方面的论文。

计算机的祖师爷除了冯诺依曼之外,还有一位图灵大佬,也在二战中发挥了至关重要的作用。


2、什么是编程

计算机需要硬件赋予之躯体,也需要软件赋予之灵魂。

软件”(或者叫做程序),指挥了计算机要按照什么样的规则来执行任务。

软件不是凭空出现的,是要被 “开发” / “设计” 出来的。制作软件就是在明确这个软件要完成什么样的任务,这个过程就称为 “编程”,或者也可以叫做 “软件开发”。

例如,妈妈让我去买两个面包,如果遇到卖西瓜的就买一个(这句话很明显存在歧义,计算机会直接 “摆烂”)。那么这个交代任务的过程就是 “编程”,只不过执行这个程序的是我,不是计算机。再进一步展开来说,就是由人来告诉计算机,接下来要做什么任务。

换个角度看,人脑也能算术运算,能逻辑判断,能数据存储,能输入输出.....,也可以视为是一个广义的计算机。

编程本身并不是一件很容易的事情,它是一件比较严谨、复杂的事情,因此就衍生出了一个专门负责编程的职业,也就是程序员程序员进行编程的过程中,需要使用一个专门的方式和计算机沟通,就是 “编程语言”。使用编程语言编写软件的具体过程就称为 “软件开发”,俗称 “敲代码”。


3、编程语言

编程语言大体可以分成三个大类:
  1. 机器语言
  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 的岗位是比较少见的。

以知名互联网招聘网站拉钩网为例,设置工作地点为北京,工作年限为 年以下。

  • 搜索 Python 关键字得到的岗位个数为 500+ 个。
  • 搜索 C 关键字得到的岗位个数为 83 个。
  • 搜索 C++ 关键字得到的岗位个数为 77 个。
  • 搜索 Java 关键字得到的岗位个数为 158 个。

上述数据只是简单采样,并不能精确反应岗位的整体情况。

更常见到的情况是, Python 作为一个辅助性质的语言。

在工作中,Python 更像是一个工具,需要用到的时候随手拿起来就用,能够方便的解决不少问题。Python 和其他的编程语言本质上并没有啥区别,并不存在某个场景是 “非得 Python 才能做,而其他语言做不了” 这样的情况。编程语言只是工具,作为一名程序员,要做到十八般兵器都能样样精通。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/683495.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Vue】路由介绍

一、引入 思考 单页面应用程序,之所以开发效率高,性能好,用户体验好 最大的原因就是:页面按需更新 比如当点击【发现音乐】和【关注】时,只是更新下面部分内容,对于头部是不更新的 要按需更新&#xff…

Nginx 功能简介及代理配置

一、Nginx功能简介 Nginx是一款开源的高性能HTTP和反向代理服务器,具有轻量级的设计、高并发能力、内存占用低以及配置简单等特点,并且支持热部署。以下是Nginx的主要功能: 静态内容服务:Nginx可以作为一个高性能的静态文件服务…

QML应用添加网络代理

在QML应用中我们可以通过QNetworkProxy和QNetworkAccessManager类给应用添加网络代理。QNetworkProxy是Qt网络模块中的一个类,用于配置网络请求的代理服务器。通过使用代理服务器,我们可以控制应用程序的网络流量,实现网络请求的转发、监视、和过滤等功能。代理服务器在很多…

【Python】 Python应用的最佳项目结构解析

基本原理 在Python开发中,一个清晰且结构化良好的项目布局对于项目的可维护性、可扩展性和团队协作至关重要。项目结构不仅影响代码的组织方式,还影响到开发流程和部署策略。一个优秀的项目结构应该能够方便地进行模块化开发,易于理解&#…

keil下载及安装(社区版本)

知不足而奋进 望远山而前行 目录 文章目录 前言 Keil有官方版本和社区版本,此文章为社区版本安装,仅供参考。 1.keil MDK 2.keil社区版介绍 3.keil下载 (1)打开进入登录界面 (2)点击下载,跳转到信息页面 (3)填写个人信息,点击提交 (4)点击下载…

巨详细Linux卸载Redis教程

巨详细Linux卸载Redis教程 1、检查系统残留redis数据2、卸载系统残留redis数据 1、检查系统残留redis数据 redis等数据相关中间件安装前一定要进行残留数据检查,排除后期存在的各种隐患。 #检查有没有残留客户端 whereis redis-cli #检查有没有残留服务 whereis r…

上位机图像处理和嵌入式模块部署(f407 mcu中的spi总线操作)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 前面我们学习mcu,一般都是模板和模块之间的接口,比如说串口、usb、eth这种。还有一种接口,更多的是芯片和芯片之…

【Python】 深入理解Pandas中的iloc和loc:数据选择的艺术

基本原理 在Python的Pandas库中,数据选择是数据分析和处理的基础。iloc和loc是两种常用的数据选择方法,它们都允许用户根据索引位置或标签来选择数据。然而,它们在行为和用途上存在一些关键的差异。 iloc iloc是基于整数索引的&#xff0c…

【Modelground】个人AI产品MVP迭代平台(3)——工程化架构设计

文章目录 背景monorepo多项目调试/打包公共静态资源服务公共模型拷贝入项目的public文件夹总结 背景 Modelground中的项目,基本都依赖Mediapipe模型,因此,有很强的需要对Mediapipe进行封装,其余项目都调用这个封装库。从架构上&a…

IIS漏洞

IIS7.5解析漏洞 安装IIS7.5 安装完成之后直接访问浏览器: 安装phpstudy for IIS 安装这个的目的是方便,不用自己去配置 解压开傻瓜式安装即可。然后查看探针: 漏洞原理 IIS7/7.5在Fast-CGI运行模式下,在一个文件路径(/shell.jpg)后面加上/…

linux线程的同步与互斥

前面我们讲了线程的概念以及如何创建与控制线程,接下来我们来对线程的细节与线程之间的问题进行一些讲解; 1.线程的互斥 互斥就是相互排斥,我们可以理解为对立竞争不相容;线程的互斥则是线程之间在对于临界资源竞争时相互排斥的…

openh264 编码命令行工具源码分析

openh264 OpenH264 是由 Cisco 公司发布的一个开源的 H.264 编码和解码器。它提供了命令行工具,可以用于对视频进行编码和解码操作。 使用说明 openh264 编码命令行工具可以使用命令行或 config 配置进行编码操作。编译和使用方法具体可以参考 Windows11编译open…

12_JavaWebAjax

文章目录 Ajax1. 同步请求异步请求2. Ajax实现方式3. 日程管理第四期4. 响应JSON串4.1 响应JSON串格式的一般格式 Appendix Ajax 发送请求的一些方式 1.输入浏览器回车 2.html>head>script/link ​ img标签 3.a标签form表单标签等 用户手动控制提交产生&#xff1b…

实验七、创建小型实验拓扑《计算机网络》

早检到底是谁发明出来的。 一、实验目的 完成本实验后,您将能够: • 设计逻辑网络。 • 配置物理实验拓扑。 • 配置 LAN 逻辑拓扑。 • 验证 LAN 连通性。 二、实验任务 在本实验中,将要求您连接网络设备并配置主机实现基本的网络…

R语言探索与分析20-北京市气温预测分析

一、序言 近年来,人类大量燃烧煤炭、天然气等含碳燃料导致温室气 体过度排放,大量温室气体强烈吸收地面辐射中的红外线,造 成温室效应不断累积,使得地球温度上升,造成全球气候变暖。气象温度的预测一直以来都是天气预…

计算机毕业设计 | 基于node(Koa)+vue 高校宿舍管理系统 宿舍可视化(附源码)

1,绪论 1.1 项目背景 随着科技的发展,智能化管理越来越重要。大学生在宿舍的时间超过了1/3,因此良好的宿舍管理对学生的生活和学习极为关键。学生宿舍管理系统能够合理安排新生分配宿舍,不浪费公共资源,减轻学校管理…

微信扫普通二维码后通过小程序观看的实现

为了方便小程序开发者更便捷地推广小程序,兼容线下已有的二维码,微信公众平台开放扫描普通链接二维码跳转小程序能力。 功能介绍 普通链接二维码,是指开发者使用工具对网页链接进行编码后生成的二维码。 线下商户可不需更换线下二维码&…

【面试干货】SQL中count(*)、count(1)和count(column)的区别与用法

【面试干货】SQL中count(*)、count(1)和count(column)的区别与用法 1、count(*)2、count(1)3、count(column) 💖The Begin💖点点关注,收藏不迷路💖 在SQL中&a…

基于GTX 8B10B编码的自定义PHY上板测试(高速收发器十四)

前文整理了GTX IP,完成了自定义PHY协议的收发模块设计,本文将通过光纤回环,对这些模块上板测试,首先需要编写一个用于生成测试数据的用户模块。 1、测试数据生成模块 本模块用于生成自定义PHY协议的测试数据,通过axi_…

【微信小程序】页面导航

声明式导航 导航到 tabbar 页 tabBar页面指的是被配置为tabBar的页面。 在使用<navigator>组件跳转到指定的tabBar页面时&#xff0c;需要指定url属性和open-type属性&#xff0c;其中&#xff1a; url 表示要跳转的页面的地址&#xff0c;必须以/开头open-type表示跳…