当前位置: 首页 > news >正文

【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 才能做,而其他语言做不了” 这样的情况。编程语言只是工具,作为一名程序员,要做到十八般兵器都能样样精通。

相关文章:

【Python】认识 Python

一、计算机基础概念 1、什么是计算机 很多老一辈的人,管下面这个叫做计算机。然而,它只是 “计算器”,和计算机是有很大区别的。 现在我们所说的计算机,不光能进行算术运算,还能进行逻辑判断、数据存储、网络通信等…...

Vue根据后端返回的tabList动态渲染组件信息

最近做了一个功能&#xff0c;后端根据配置信息&#xff0c;动态返回一个tabList&#xff0c;其中结构是List<String,Object> tabList; map里面的数据是 label、value 页面需要根据tablist动态渲染组件&#xff08;不同的tab都使用了组件进行了封装&#xff09; 实现效果…...

二轴机器人大米装箱机:技术创新引领智能包装新潮流

在科技日新月异的今天&#xff0c;自动化和智能化已成为各行各业追求高效、精准生产的关键。作为粮食加工行业的重要一环&#xff0c;大米装箱机的技术创新与应用价值日益凸显。其中&#xff0c;二轴机器人大米装箱机以其高效、稳定、智能的特点&#xff0c;成为市场的新宠。星…...

rtl8723DU移植 android4.4 4418 (第二部分蓝牙部分)

使用的代码&#xff1a; HMI &#xff08;8723bu&#xff09;源码 567_RTL8723DU_WiFi_linux_v5.6.5.3_35502_COEX20181130-2e2e.20191025.zip 由于之前写的所有笔记没有保存&#xff0c;这里只能是部分。 0、 前置知识 1 、kernel 的移植 2、hardwire的移植 将 驱动中的 h…...

【Vue】组件的存放目录问题

注意&#xff1a; .vue文件 本质无区别 组件分类 .vue文件分为2类&#xff0c;都是 .vue文件&#xff08;本质无区别&#xff09; 页面组件 &#xff08;配置路由规则时使用的组件&#xff09;复用组件&#xff08;多个组件中都使用到的组件&#xff09; 存放目录 分类开来的…...

开发PlugLink插件:自动生成并发布博客文章

开发PlugLink插件&#xff1a;自动生成并发布博客文章 引言 博客已经成为个人和企业分享信息、推广产品的重要工具。然而&#xff0c;手动运营博客不仅耗时&#xff0c;而且容易出错。本文将介绍如何利用PlugLink开发一个全自动博客运营程序&#xff0c;通过API链接大模型&am…...

Ant Design Pro

一&#xff1a;Ant Design pro是什么&#xff1a; Ant Design Pro 是基于 Ant Design 和 umi 的封装的一整套企业级中后台前端/设计解决方案&#xff0c;致力于在设计规范和基础组件的基础上&#xff0c;继续向上构建&#xff0c;提炼出典型模板/业务组件/配套设计资源&#x…...

加密软件好用的是哪个?为什么这么多人说迅软DSE加密软件好用?

加密软件顾名思义就是用来对机密文件进行加密保护的&#xff0c;防止未经授权的人查看和篡改&#xff0c;保护公司的重要信息&#xff0c;预防泄露的事件发生&#xff0c;由此可见运用加密软件是有用的。那么&#xff0c;问题又来了哪款加密软件好呢&#xff1f;请看一下介绍。…...

大模型日报2024-06-07

大模型日报 2024-06-07 大模型资讯 大规模单细胞转录组学基础模型研究 摘要: 大型预训练模型已成为基础模型&#xff0c;在自然语言处理及相关领域取得突破。本文介绍了在单细胞转录组学领域应用大规模基础模型的研究进展。 MMLU-Pro&#xff1a;评估语言理解模型的新基准 摘要…...

Day49 动态规划part08

LC139单词拆分(未掌握) 未掌握分析&#xff1a;将字符串s中的各个字符看成是背包&#xff0c;思考成了多重背包问题单词就是物品&#xff0c;字符串s就是背包&#xff0c;单词能否组成字符串s&#xff0c;就是问物品能不能把背包装满。拆分时可以重复使用字典中的单词&#xf…...

React -- memo允许你的组件在 props 没有改变的情况下跳过重新渲染。

memo(Component, arePropsEqual?) 使用 memo 将组件包装起来&#xff0c;以获得该组件的一个 记忆化 版本。通常情况下&#xff0c;只要该组件的 props 没有改变&#xff0c;这个记忆化版本就不会在其父组件重新渲染时重新渲染。但 React 仍可能会重新渲染它&#xff1a;记忆化…...

路径

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 用于定位一个文件或者目录的字符串被称为一个路径。在程序开发时&#xff0c;通常涉及两种路径&#xff0c;一种是相对路径&#xff0c;另一种是绝对…...

逆波兰表达式

目录 一、定义 二、算法步骤 三、代码实现 一、定义 逆波兰表达式又叫做后缀表达式&#xff0c;是一种没有括号&#xff0c;并严格遵循“从左到右”运算的后缀式表达方法。 二、算法步骤 1、首先构造一个运算符栈&#xff0c;此运算符在栈内遵循越往栈顶优先级越高的原则。 …...

git(其六)--总结

配置基础信息 //1.配置用户名和邮箱 git config --global user.name "带着引号写一个昵称" git config --global user.email "带着引号写一个邮箱"//2.建立一个git本地库 git init//3.查看本地内容 git status //可以看到那些处于待加入本地库的文件&a…...

kafka-生产者拦截器(SpringBoot整合Kafka)

文章目录 1、生产者拦截器1.1、创建生产者拦截器1.2、KafkaTemplate配置生产者拦截器1.3、使用Java代码创建主题分区副本1.4、application.yml配置----v1版1.5、屏蔽 kafka debug 日志 logback.xml1.6、引入spring-kafka依赖1.7、控制台日志 1、生产者拦截器 1.1、创建生产者拦…...

每日一题:聊聊 Redis 过期键的删除策略

聊聊 Redis 过期键的删除策略 答案 惰性删除 &#xff1a;只会在取出 key 的时候才对数据进行过期检查&#xff1b;这样对 CPU 最友好&#xff0c;但是可能会造成太多过期 key 没有被删除&#xff08;占用内存&#xff09;。 通过定时器实现&#xff08;时间事件&#xff09;&…...

边缘计算的AI小板——OrangePi AI Pro

简介 OrangePi AI Pro是一款基于Allwinner H6处理器的嵌入式AI计算设备&#xff0c;适用于物联网和边缘计算。它具有强大的性能、低功耗、多接口和小尺寸。 本文分为三个部分&#xff1a; 一、对该板进行简单的开箱介绍。 二、 将SD卡中的系统迁移到由于该板支持SD卡、SSD…...

RDMA (2)

iWARP(RDMA)怎么工作的 招式1:bypass内核 非iWARP时,当应用向网络适配器发出读或者写命令时,命令穿过用户空间以及内核空间,因此需要在用户空间和内核空间间进行切换。 iWARP使用RDMA,让应用直接将命令送达到网络适配器。这规避了对内核的调用,减少了开销和延迟。 招式2…...

vue.config.js中,devServer对象用于配置开发服务器的行为

devServer: {hot: true, // 启用模块热替换&#xff08;Hot Module Replacement&#xff0c;HMR&#xff09;。liveReload: true, // 启用页面自动刷新。当热更新失败时&#xff0c;将回退到页面自动刷新。open: true, // 启动服务器后自动打开浏览器。port: 8080, // 设置开发…...

JVM 运行流程

JVM 是 Java 运行的基础&#xff0c;也是实现一次编译到处执行的关键&#xff0c;那么 JVM 是如何执行的呢&#xff1f; JVM 执行流程 程序在执行之前先要把java代码转换成字节码&#xff08;class 文件&#xff09;&#xff0c; JVM 首先需要把字节码通过一定的 方式 类加…...

android-JNI

1.2【静态库】的特点&#xff1a; &#xff08;.a&#xff09; ①静态库对函数库的链接是在编译期完成的。执行期间代码装载速度快。 ②使可执行文件变大&#xff0c;浪费空间和资源&#xff08;占空间&#xff09;。 ③对程序的更新、部署与发布不方便&#xff0c;需要全量更新…...

Go_unsafe包

是什么&#xff1f;为什么&#xff1f; 如何利用unsafe包修改私有成员&#xff1f; 结构体会被分配到一块连续的内存&#xff0c;结构体的地址也代表第一个成员的地址。 如何利用unsafe包获取slice和map的长度&#xff1f; // 利用unsafe包修改私有成员 type S struct {name …...

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(十三)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 20 - 21节&#xff09; P20《19.ArkUI-属性动画和显式动画》 本节先来学习属性动画和显式动画&#xff1a; 在代码中定义动画&am…...

企业建站响应式网站建设平台版源码系统 海量模版可选择 带完整的安装代码以及搭建教程

系统概述 企业建站响应式网站建设平台版源码系统是一款集创新性、实用性和便捷性于一体的建站解决方案。它旨在为用户提供一站式的网站建设服务&#xff0c;无论你是新手还是经验丰富的开发者&#xff0c;都能通过该系统轻松实现网站的构建与部署。 该系统采用先进的技术架构…...

在 VSCode 中搭建 Flutter 开发环境并运行项目

要在 Visual Studio Code (VSCode) 中运行 Flutter 项目并启动虚拟机&#xff08;例如 Android Emulator&#xff09;&#xff0c;可以按照以下步骤进行设置和操作&#xff1a; 一、安装 Flutter 和 Dart 插件 安装 Flutter SDK&#xff1a; 前往 Flutter 官网 下载并安装 Flu…...

如何执行VMware P2V迁移|VMware Converter和替代方案

VMware中的P2V是什么&#xff1f; 我们常说的VMware P2V其实指的就是“物理到虚拟”&#xff0c;将工作负载从物理机器转换或迁移到虚拟机&#xff08;VM&#xff09;的过程&#xff0c;能够使您无需从头开始费力地创建和配置新虚拟机。 就像您可以使用Disk2vhd执行Hyper-V物理…...

03-3.2.3 队列的链式存储的实现

&#x1f44b; Hi, I’m Beast Cheng&#x1f440; I’m interested in photography, hiking, landscape…&#x1f331; I’m currently learning python, javascript, kotlin…&#x1f4eb; How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以订…...

Spring AI 第二讲 之 Chat Model API 第八节Anthropic 3 Chat

Anthropic Claude 是一系列基础人工智能模型&#xff0c;可用于各种应用。对于开发人员和企业来说&#xff0c;您可以利用 API 访问&#xff0c;直接在 Anthropic 的人工智能基础架构之上进行构建。 Spring AI 支持用于同步和流式文本生成的 Anthropic 消息 API。 Anthropic …...

【ARM 常见汇编指令学习 6.2 -- ARMv8 汇编指令 SDIV 详细介绍】

文章目录 SDIV指令格式使用示例注意事项总结 SDIV ARMv8 架构中的 SDIV 指令用于执行带符号整数除法操作。这意味着它可以处理负数除法&#xff0c;与 UDIV&#xff08;执行无符号整数除法&#xff09;形成对比。SDIV 将两个寄存器中的带符号整数相除&#xff0c;将除法结果存…...

【ArcGIS微课1000例】0113:大地测量要素概述与构建

文章目录 一、大地测量要素描述1. 大地要素的概念2. 大地要素的类型二、创建大地测量要素1. 创建要素类2. 创建大地要素一、大地测量要素描述 1. 大地要素的概念 大地测量要素的测量值考虑了投影空间的固有变形。如果要创建一个空间跨度较大的要素(例如一条横跨大洋的飞行路…...