python-D2-计算机与编程语言
计算机五大核心
控制器
计算机的指挥系统,可以控制计算机硬件的整体运行
运算器
实现算术运算和逻辑运算
控制器和运算器结合起来就是cpu,也称为中央处理器,是整个电脑的核心。

存储器
分为两类,非永久性存储和永久性存储,非永久性存储指断电后数据丢失,永久性存储指在没有被人为的破坏和硬件本身损坏外可以提供永久性存储,断电后数据还存在。
非永久性存储一般是内存,如下图所示:

优点:基于电工作,存取数据速度快 缺点:断电后数据丢失 类似于人的短期记忆
永久性存储常见的有U盘、硬盘、固态硬盘等。
硬盘:

固态硬盘

优点:可以永久保存数据 缺点:存储数据的速度较慢 类似于人的长期记忆
输入设备
向计算机输入信息和数据的设备,是计算机与用户或其它设备通信的桥梁。常见的有键盘、鼠标等。
键盘

输出设备
计算机系统的终端设备,用于接收计算机数据的输出显示,打印,声音,控制外围设备操作等,常见的有打印机、音响、显示器等。
显示器

计算机三大核心硬件
- CPU
中央处理器,是一块超大规模的集成电路,负责处理数据/计算。计算机真正干活的人。(程序要运行起来必须要CPU参与才行) - 内存
存取数据的速度极快,主要与CPU配合使用 - 硬盘
能够永久存储数据,空间大,速度慢
1.我想玩LOL端游
下载该游戏软件>>>:下到哪里去了?
1.思考计算机能够存储数据的地方
2.反向思考如果是内存,断电立刻丢失,不太可能
3.我们下载软件其实都是下载到了计算机硬盘中
2.双击LOL端游图标
1.将硬盘中lol程序代码读取到内存>>>:如果容量很大,那么等待的时间越长,硬盘读取速度是有上限的(硬盘转圈读取数据)
2.CPU去内存中获取程序中的指令并执行
3.LOL游戏开始运行,你可以快乐起来了
1.内存的容量一般比硬盘小的多的多
硬件水平跟不上
4GB 8GB 16GB 32GB 64GB 128GB 256GB
2.为什么不直接砍掉内存,让CPU跟硬件交互
CPU的运行速度非常的快(1000) 但是硬盘的运行速度非常的慢
内存的速度比硬盘快很多,可以跟CPU搭配干活,可以提升CPU运行效率
3.只要是运行的程序,产生的数据第一时间肯定在内存
以前的文本编辑器使用过程中如果突然断电数据会立刻丢失,现在的文本编辑器不会出现这种情况的原因是内部自动执行保存操作
保存>>>:将内存中的数据刷到硬盘
扩展:自动保存机制有两种方式
方式1:实时检测文档变化,一旦有变化就保存
方式2:循环定时任务,每隔一段时间保存一次
操作系统
- 控制、协调、管理计算机各个硬件的工作
操作系统是软件的一部分,它是硬件基础上的第一层软件,是硬件和其他软件沟通的桥梁,操作系统会控制其它程序运行,管理系统资源,提供最基本的计算功能,如管理及配置内存,决定系统资源供需的优先次序等。
我们日常所使用的应用程序都必须依赖于操作系统之上才可以运行。
PC端常见操作系统:Windows、MacOS、linux
移动端常见操作系统:安卓、IOS、鸿蒙
编程与编程语言
什么是编程语言
什么是语言
我们常见的人与人之间沟通的中文、英文等,它是人与人之间沟通的媒介
什么是编程语言
人与计算机之间沟通交流的媒介
什么是编程?(重要)
程序员将自己的思维逻辑和想法用计算机能够读懂的语言写下来的过程,编程的结果就是产生一堆文件
PS:学习编程真的不难,相当于在学习一门全新的语言,我们在学习新的语言的时候之所以不能灵活掌握只有一个原因,练的少了。
编程语言发展史
- 机器语言
第一代计算机语言,机器语言是用二进制代码(0和1)表示的计算机能识别和执行的一种机器指令的集合。
优势:计算机能够直接读取,执行效率高
劣势:学习难度大,开发效率低,门槛高
- 汇编语言
用一些英语字母表示一串二进制数
优势:学习难度有所降低,开发效率有所提高
劣势:门槛还是很高
- 高级语言
用人类能够读懂的字符与计算机沟通交流
优势:学习难度低、开发效率高、门槛低
劣势:执行速度没有上述两个语言快
常见高级语言:C++、java、php、python、golang
虽然很多但是万变不离其宗,底层原理几乎一致,掌握了一门学习其它的会非常快
编程语言的分类
高级语言都需要经过翻译之后才能被计算机识别并执行
1.编译型语言 c++
类似于谷歌翻译(一次性翻译)翻译之后可以反复使用翻译的结果
优势:一次翻译可以反复使用,执行效率高,速度快
劣势:当程序中频繁出现bug,那么需要反复编译
2.解释型语言 python
类似于同声传译(说一句翻一句)
优势:有bug和没有bug执行效率几乎一样
劣势:速度没有编译型语言快
#要想让计算机能够识别并运行高级语言需要对应类型的翻译官
python解释器
1.历史
荷兰的龟叔在圣诞节的时候闲着无聊开发了python
2.版本
版本其实是软件更新迭代的记录
python1.X:初期版本 几乎不用
python2.X:python2.7(2020年就已经不再维护更新)
python3.X: python3.6 python3.8 python3.10+
ps: 我们学习python语法,对版本的区别差异不大
下载
官网:https://www.python.org/downloads/windows/
安装




环境变量
何为环境变量? 可以看成是查找资源的大仓库
我们在cmd窗口内查找资源的时候
1.先在当前路径查找(在家里找)
2.如果没有 则去系统环境变量中查找(派出所)
3.还没有 则会提示报错(凉凉)
修改环境变量之后需要使用新的cmd窗口


多版本共存
拷贝解释器中的python.exe文件
然后给拷贝之后的文件命名(独一无二)

运行python程序的三种方式
1. cmd直接编写运行
适用于较短 临时执行的代码
2. 解释器命令运行
可以编写较长的代码 并且可以长久保存
3.利用IDE工具编写并运行
IDE 开发工具:自动提示,携带各种功能插件,编写代码效率更高更快
sublime 对小白不友好
vscode 对小白不友好
pycharm 功能强大,对小白友好
python-D2-计算机与编程语言的更多相关文章
- 『Python基础-1 』 编程语言Python的基础背景知识
#『Python基础-1 』 编程语言Python的基础背景知识 目录: 1.编程语言 1.1 什么是编程语言 1.2 编程语言的种类 1.3 常见的编程语言 1.4 编译型语言和解释型语言的对比 2 ...
- [译]Python作为一种编程语言有多强大?
Quora上有个问题:Python作为一种编程语言有多强大? 以下是Patrycja Okowicka的回答 说实话,Python是一门强大的语言,几乎所有东西都可以用Python创建!这就是为什么它 ...
- Python 获取计算机全名(fully qualified host name)
Python 获取计算机全名(fully qualified host name) import socket socket.getfqdn() socket.gethostname()
- 转载:帮你提升 Python 的 27 种编程语言
帮你提升 Python 的 27 种编程语言: 出处:http://www.oschina.net/translate/languages-to-improve-your-python
- Python——最美丽的编程语言
之前总听别人说Python有多厉害,有多好,我是不以为然的.但是当我开始接触Python的时候,我就知道它被誉为最美编程语言不是没有道理的.简短的代码,清晰明了的逻辑,方便快捷的编程工具让它注定会大放 ...
- Python进阶----计算机基础知识(操作系统多道技术),进程概念, 并发概念,并行概念,多进程实现
Python进阶----计算机基础知识(操作系统多道技术),进程概念, 并发概念,并行概念,多进程实现 一丶进程基础知识 什么是程序: 程序就是一堆文件 什么是进程: 进程就是一个正在 ...
- 第二章 python之计算机基础
@python基础 零基础就是个幌子,因为零基础什么都干不了. 如果零基础随随便便就把自动化做起来,那自动化测试就不值钱了:因为这种简单的事情,谁都可以做到. 本课程从零基础出发,补足基础后,不仅仅学 ...
- python之浅谈编程语言
一.编程语言的分类 机器语言(低级语言) 可以直接和硬件交互,用0和1和计算机沟通 优点:执行效率高(因为可以直接和计算机沟通) 缺点:开发效率低(都是用0和1进行编码) 汇编语言 同样可以直接和硬件 ...
- 《Python》 计算机基础
一.计算机基础: cpu:中央处理器,相当于人的大脑,运算中心,控制中心. 内存:暂时存储数据,与CPU交互. 优点:内存读取速度快. 缺点:容量小,造价高,断电即消失. 硬盘:长期存储数据. 优点: ...
- 用Python获取计算机网卡信息
目录 0. 前言 1. 测试环境及关键代码解释 1.1 测试环境 1.1.1 系统: 1.1.2 开发工具: 2. 模块介绍及演示 2.1 platform模块使用示例 2.2 netifaces模块 ...
随机推荐
- 记一次 .NET 某工控自动化控制系统 卡死分析
一:背景 1. 讲故事 前段时间遇到了好几起关于窗体程序的 进程加载锁 引发的 程序卡死 和 线程暴涨 问题,这种 dump 分析难度较大,主要涉及到 Windows操作系统 和 C++ 的基础知识, ...
- 技术分享 | 浅谈mysql语法解析调试方法
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 本文向您介绍一种利用mysql解析器和bison的调试选项进行sql语法解析跟踪 ...
- 巨细靡遗流程控制,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang流程结构详解EP09
流程结构就是指程序逻辑到底怎么执行,进而言之,程序执行逻辑的顺序.众所周知,程序整体都是自上由下执行的,但有的时候,又不仅仅是从上往下执行那么简单,大体上,Go lang程序的流程控制结构一共有三种: ...
- Luogu2801 教主的魔法 (分块)
与hzw的分块2类似,放vector排序 #include <iostream> #include <cstdio> #include <cstring> #inc ...
- 10大python加速技巧
简介 目前非常多的数据竞赛都是提交代码的竞赛,而且加入了时间的限制,这就对于我们python代码的加速非常重要.本篇文章我们介绍在Python中加速代码的一些技巧.可能不是很多,但在一些大的循环或者函 ...
- 关于linux的一点好奇心(四):tail -f文件跟踪实现
关于文件跟踪,我们有很多的实际场景,比如查看某个系统日志的输出,当有变化时立即体现,以便进行问题排查:比如查看文件结尾的内容是啥,总之是刚需了. 1. 自己实现的文件跟踪 我们平时做功能开发时,也会遇 ...
- mybatis 15: 缓存
作用 当对某些数据的查询请求频繁,且数据不经常修改时,使用缓存机制可以提高查询效率 注意 mybatis专注于sql查询,数据映射 缓存问题应该交给专门负责缓存的其他第三方框架 mybatis缓存执行 ...
- 二叉搜索树TREE(线段树,区间DP)
前言 线段树+区间DP题,线段树却不是优化DP的,是不是很意外? 题面 二叉搜索树是一种二叉树,每个节点都有一个权值,并且一个点的权值比其左子树里的点权值都大,比起右子树里的点权值都小. 一种朴素的向 ...
- 【Java】学习路径53-InetAdress获取服务器ip
InetAdress如何使用? import java.net.*; public class InetAdress { public static void main(String[] args) ...
- Spring常用注解(SpirngBoot方面讲的更加详细)
注解实现自动装配 使用注解须知: 导入约束,context约束 配置注解的支持 <?xml version="1.0" encoding="UTF-8"? ...