【Python】认识 Python
一、计算机基础概念
1、什么是计算机
很多老一辈的人,管下面这个叫做计算机。然而,它只是 “计算器”,和计算机是有很大区别的。
现在我们所说的计算机,不光能进行算术运算,还能进行逻辑判断、数据存储、网络通信等等功能,以至于可以自动的完成非常复杂的工作。以下这些都可以称为 “计算机”:
- CPU - 中央处理器,处理算术运算、逻辑运算等
- 存储器(内存,硬盘等存储数据)
- 输入设备(键盘,鼠标,麦克风等负责和用户进行交互)
- 输出设备(显示器,音响,耳机,打印机等负责和用户进行交互)
CPU 是目前人类科技的巅峰之作,科技含量能和 CPU 相提并论的,只有氢弹了。美国限制向中国出口 “芯片”,这里的芯片主要指的就是 CPU。目前国内虽然有自主研发 CPU 的能力,但是整体的水平相比于国际一线的 Intel,AMD 等厂商相比,还是有一定的差距的。
重要的硬件不是还有显卡吗?但是太贵了。
内存与外存(硬盘等)的区别:
- 内存的存储空间较小,外存的存储空间较大。
- 内存的访问速度快,外存的访问速度慢。
- 内存比外存成本更高。
- 内存上的数据容易丢失(断电,数据就没了),外存上的数据能够持久化存储(相对于内存来说可以存的更长久,一般机械硬盘存储数据的时间是几年到十几年)(断电数据也在)。
有的设备既是输入设备,又是输出设备,比如触摸屏、网卡等。
- 显卡并没有被归纳到上面,其实显卡(GPU)是和 CPU 类似的计算芯片,CPU 是 “通用计算芯片”,可以处理各种场景下的各种问题(类比大学毕业生)。而 GPU 是 “专用计算芯片”,特别擅长处理浮点数运算(类比计算机专业学生)。
以上的组成结构称为 “冯诺依曼体系结构”,冯诺依曼可以称为计算机的祖师爷。
冯诺依曼除了是计算机祖师爷之外,还是一位数学家、物理学家、化学家、“博弈论” 的创始人,参与过曼哈顿计划(担任原子弹制造顾问)。据传闻,冯诺依曼大佬六岁心算八位数除法,八岁掌握微积分,十岁通读了世界史,十七岁发表了第一篇数学方面的论文。
计算机的祖师爷除了冯诺依曼之外,还有一位图灵大佬,也在二战中发挥了至关重要的作用。
2、什么是编程
计算机需要硬件赋予之躯体,也需要软件赋予之灵魂。
“软件”(或者叫做程序),指挥了计算机要按照什么样的规则来执行任务。
软件不是凭空出现的,是要被 “开发” / “设计” 出来的。制作软件就是在明确这个软件要完成什么样的任务,这个过程就称为 “编程”,或者也可以叫做 “软件开发”。
例如,妈妈让我去买两个面包,如果遇到卖西瓜的就买一个(这句话很明显存在歧义,计算机会直接 “摆烂”)。那么这个交代任务的过程就是 “编程”,只不过执行这个程序的是我,不是计算机。再进一步展开来说,就是由人来告诉计算机,接下来要做什么任务。
换个角度看,人脑也能算术运算,能逻辑判断,能数据存储,能输入输出.....,也可以视为是一个广义的计算机。
编程本身并不是一件很容易的事情,它是一件比较严谨、复杂的事情,因此就衍生出了一个专门负责编程的职业,也就是程序员。程序员进行编程的过程中,需要使用一个专门的方式和计算机沟通,就是 “编程语言”。使用编程语言编写软件的具体过程就称为 “软件开发”,俗称 “敲代码”。
3、编程语言
- 机器语言
- 汇编语言
- 高级语言
其中机器语言和汇编语言都是更贴近计算机的,人类理解起来并不容易。因此目前程序员使用的编程语言主要是高级语言。
高级语言的种类有很多很多,以下列出的都是实际开发中常用的编程语言:
二、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 才能做,而其他语言做不了” 这样的情况。编程语言只是工具,作为一名程序员,要做到十八般兵器都能样样精通。
相关文章:

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

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

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

rtl8723DU移植 android4.4 4418 (第二部分蓝牙部分)
使用的代码: HMI (8723bu)源码 567_RTL8723DU_WiFi_linux_v5.6.5.3_35502_COEX20181130-2e2e.20191025.zip 由于之前写的所有笔记没有保存,这里只能是部分。 0、 前置知识 1 、kernel 的移植 2、hardwire的移植 将 驱动中的 h…...

【Vue】组件的存放目录问题
注意: .vue文件 本质无区别 组件分类 .vue文件分为2类,都是 .vue文件(本质无区别) 页面组件 (配置路由规则时使用的组件)复用组件(多个组件中都使用到的组件) 存放目录 分类开来的…...

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

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

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

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

Day49 动态规划part08
LC139单词拆分(未掌握) 未掌握分析:将字符串s中的各个字符看成是背包,思考成了多重背包问题单词就是物品,字符串s就是背包,单词能否组成字符串s,就是问物品能不能把背包装满。拆分时可以重复使用字典中的单词…...

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

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

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

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 过期键的删除策略 答案 惰性删除 :只会在取出 key 的时候才对数据进行过期检查;这样对 CPU 最友好,但是可能会造成太多过期 key 没有被删除(占用内存)。 通过定时器实现(时间事件)&…...

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

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

vue.config.js中,devServer对象用于配置开发服务器的行为
devServer: {hot: true, // 启用模块热替换(Hot Module Replacement,HMR)。liveReload: true, // 启用页面自动刷新。当热更新失败时,将回退到页面自动刷新。open: true, // 启动服务器后自动打开浏览器。port: 8080, // 设置开发…...

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

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

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

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(十三)
课程地址: 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程,一套精通鸿蒙应用开发 (本篇笔记对应课程第 20 - 21节) P20《19.ArkUI-属性动画和显式动画》 本节先来学习属性动画和显式动画: 在代码中定义动画&am…...

企业建站响应式网站建设平台版源码系统 海量模版可选择 带完整的安装代码以及搭建教程
系统概述 企业建站响应式网站建设平台版源码系统是一款集创新性、实用性和便捷性于一体的建站解决方案。它旨在为用户提供一站式的网站建设服务,无论你是新手还是经验丰富的开发者,都能通过该系统轻松实现网站的构建与部署。 该系统采用先进的技术架构…...

在 VSCode 中搭建 Flutter 开发环境并运行项目
要在 Visual Studio Code (VSCode) 中运行 Flutter 项目并启动虚拟机(例如 Android Emulator),可以按照以下步骤进行设置和操作: 一、安装 Flutter 和 Dart 插件 安装 Flutter SDK: 前往 Flutter 官网 下载并安装 Flu…...

如何执行VMware P2V迁移|VMware Converter和替代方案
VMware中的P2V是什么? 我们常说的VMware P2V其实指的就是“物理到虚拟”,将工作负载从物理机器转换或迁移到虚拟机(VM)的过程,能够使您无需从头开始费力地创建和配置新虚拟机。 就像您可以使用Disk2vhd执行Hyper-V物理…...

03-3.2.3 队列的链式存储的实现
👋 Hi, I’m Beast Cheng👀 I’m interested in photography, hiking, landscape…🌱 I’m currently learning python, javascript, kotlin…📫 How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以订…...

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

【ARM 常见汇编指令学习 6.2 -- ARMv8 汇编指令 SDIV 详细介绍】
文章目录 SDIV指令格式使用示例注意事项总结 SDIV ARMv8 架构中的 SDIV 指令用于执行带符号整数除法操作。这意味着它可以处理负数除法,与 UDIV(执行无符号整数除法)形成对比。SDIV 将两个寄存器中的带符号整数相除,将除法结果存…...

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