内容总结

目录

一、计算机五大组成部分详细介绍

1.控制器

控制计算机硬件进行工作

类比:上课时大脑控制身体不睡觉

2.运算器

处理各种问题,进行运算等功能

类比:做数学题目时进行思考的动作

PS:CPU(中央处理器)= 控制器+运算器

3.存储设备

存储设备由内存和硬盘组成

  • 内存:相当于短期记忆

    • 直接与cpu交互,具有工作速度快的特点,但是断电后数据会清空。
  • 外存(磁盘):相当于永久记忆

    • 工作速度较内存慢,但是断电后数据不会消失。
    • 磁盘种类很多,U盘、磁盘、磁带、固态都是磁盘。

4.输入设备

键盘、鼠标、摄像头、麦克风等

类比:眼睛看书读取内容、皮肤感受触觉

5.输出设备

音响、屏幕等

类比:用嘴说话

二、计算机三大核心硬件

1. cpu

  • 计算机中起运算作用的硬件,所有程序都是靠他运行的。

2.内存

  • 存取数据速度极快,主要是配合cpu工作的。容量通常较小,常见的有4GB、8GB、16GB、32GB、64GB等。

  • 打开应用时,内存先去磁盘中读取文件,再通过cpu运行程序打开应用。

举例:写文档时,突然关机了。

电脑运行时,程序的产生的数据都是暂时存储在内存中,如果关机或者断电关机后,其中的数据会消失。

  • 当程序有自动保存功能时

程序会定期或在检测到新内容时就把数据写入磁盘一次,定期保存比较节省内存资源。

  • 当程序没自动保存功能时

程序内的所有未保存的数据都在内存中,关机后内存中数据会消失

3.磁盘

  • 用于长久的保存数据,容量通常较大,常见的容量有256GB、512GB、1TB、2TB等。

  • 下载文件时,文件就是保存在磁盘中。

cpu为什么不和磁盘配合工作?

磁盘读取速度很慢,cpu效率却很快,这会使cpu效率受限于磁盘,也变得很慢。



三、操作系统

1.操作系统的由来

是为了方便人控制、管理计算机而产生的。硬件毕竟是”死的“,硬件的运行都是由软件支配。

  • 早期没有操作系统时,计算机要求开发者需要先编写一套完整的操作系统来控制电脑各个硬件工作,才能继续编写后续的业务程序代码,于是有公司专门把这些控制硬件的代码整合成了操作系统,方便人们使用。

PC端常见操作系统

windows、macOS、linux

移动端常见操作系统

安卓、IOS、鸿蒙



2.系统软件与应用软件

硬件以上运行的都是软件,而软件分为两类:

  • 应用软件(例如qq、word、暴风影音,我们学习python就是为了开发应用软件的)
  • 操作系统,操作系统应用软件与硬件之间的一个桥梁,是协调、管理、控制计算机硬件与应用软件资源的控制程序。

3.计算机系统三层结构

综上,我们开发应用程序本质是在控制硬件,但是我们直接打交道的是操作系统,应用程序都是通过操作系统来间接地操作硬件的,所以一套完整的计算机系统分为三层,如下:

一个非常重要的基础概念:平台

应用程序都是运行于操作系统之上,而操作系统则是运行于硬件之上的,所以承载应用程序的是一台运行有操作系统的计算机,称之为应用程序的运行平台,即:硬件 + 操作系统 == 平台

四、编程与编程语言的关系

1.什么是编程语言

  • 编程语言就是人与计算机交流的媒介,就像人与人交流会用到不同语言。只有使用相应的语言才能和计算机沟通。

2.什么是编程

  • 编程就是使用编程语言将自己的想法、思维转换成计算机能读懂的东西,可以把原来需要人力来完成的业务(比如ATM和购物)交给计算机去做。编程的结果就是产生一堆文件。

五、编程语言发展史

1.机器语言

使用二进制跟计算机直接沟通

特点:计算机可以直接读懂,执行效率高,但是学习难度大,开发效率低,门槛也高

2.汇编语言

使用英文字符表示一些二进制数

特点:执行效率有所提高,但是学习难度和门槛依旧较高。

3.高级语言

使用人类能读懂的字符和计算机交流

特点:学习难度和门槛低、开发效率高,但是速度相对之前两种语言慢。

常见高级语言:C++、Java、PHP、python、Golang

注:高级语言底层原理几乎相同,掌握一种就能很快学会其他的语言。

六、编程语言分类

目前使用较多的几乎都是高级语言,但是高级语言需要经过翻译才能被计算机识别并执行,因此可以把他们分为两类:

1.编译型语言(c/c++)

跟翻译软件的工作原理相似,一次性翻译整片代码,翻译后的结果可以反复使用。

特点:翻译效率高,速度快,但是当频繁出现bug时,同样需要整篇翻译。

2.解释型语言(python)

类似同声传译,可以逐句翻译。

特点:bug几乎不影响翻译速度,但是没有编译型语言速度快。

七、python解释器

由于python是解释型语言,需要解释器翻译。

1.python发展方向

  • web方向、自动化运维、自动化测试、自动化办公、网络爬虫、金融量化、人工智能、机器学习、数据分析等。目前没有任何语言能做到python这样百花齐放。

2.python解释器

1.历史

Python语言是由荷兰程序员Guido van Rossum,江湖人称“龟叔”,独立开发完成初版的。“龟叔”曾供职于google,现任职于dropbox 。

1989年圣诞节期间,在阿姆斯特丹,为了打发圣诞节的无趣,决心开发一个新的脚本解释语言,作为ABC语言的一种继承,然后他就这么做了,并实现了(大神的能力)。之所以选中Python作为该编程语言的名字,是因为他是一个叫Monty Python喜剧团体的爱好者,其本意并不是想选条蟒蛇。

Python的口号是:“人生苦短,我用Python!”。这条口号已经被Python业界广泛使用,快成了广告词一类的存在了。

2.版本

版本其实是软件更新迭代的记录

python1.X:初期版本 几乎不用

python2.X:python2.7(2020年就已经不再维护更新,一般是公司老项目在用)

python3.X:python3.6 python3.8 python3.10+

对于学习python的人来说版本对于学习的影响不大。今后在工作时,IT领域一般涉及重要文件、软件不会用最新版,而是稳定版。今天需要下载下面三个版本python2.7、python3.6、python3.8

3.下载

官网:https://www.python.org/downloads/windows/

ps:苹果电脑自带python2.7

1.在官网中选择对应的操作系统

2.选择对应版本

python3.8版本

python3.6版本

python2.7版本

4.安装

1.不要选择Install Now默认在c盘安装,选第二个自定义安装。

2.不做任何改动直接下一步

3.安装路径尽量做到简单方便后面查找使用。

4.完成

5.使用

未设置环境变量时:

​ 1.windows+r

​ 2.输入cmd回车

​ 3.切换盘符 D:

​ 4.切换目录 cd python38

​ 5.运行解释器 python

​ 6.退出解释器 exit()

​ 7.退到上一层目录 cd ..

设置环境变量后:

​ 1.先根据版本的不同,在安装目录下复制出另一个pyhton.exe并重命名成python+对应版本

​ 2.直接打开cmd并输入python+版本号就可以直接打开python解释器。

八、环境变量与多版本共存

当我们在cmd窗口查找资源的时候系统会根据以下顺序查找:

​ 1、当前路径(现在家里找)

​ 2、如果当前路径没找到,就先去环境变量中查找(通过派出所找)

​ 3、如果环境变量中也没找到,就会报错。(宣布失踪)

环境变量设置

1.右键此电脑

2.点击高级系统设置

3.点击环境变量

4.双击系统变量中的path

5.点击新建,将自己安装的python各个版本解释器的位置复制进去

多版本共存

我们不难发现,在各个版本的安装目录中所有的版本的python的执行文件都是python.exe,拷贝python.exe命名成python36、python38、python27,这样才能指定调用目标。否则就会根据环境变量中路径的先后顺序调用。上图中会就会先调用python3.8版本解释器。

九、运行python程序的三种方式

1.直接在cmd中编写并运行

适用于较短的、临时执行的代码

2.解释器命令运行

在其他文件中编写后,在cmd窗口中用解释器命令运行

示例:

1.在C:\Users\asus\Desktop\python目录下新建a.txt文本文件



2.在文件a.txt内输入print('hello world')



3.在cmd窗口中用解释器命令运行

3.利用IDE工具编写并运行

IDE(开发者工具):可以自动提示,拥有各种功能插件,编写代码的效率更高。

例如:sublime、vscode、pycharm等。其中sublime、vscode是轻量化软件不适合小白使用,pycharm功能强大,对小白比较友好。



最新文章

  1. LeetCode Binary Tree Vertical Order Traversal
  2. PHP 文件创建/写入
  3. Bash 快捷键大全
  4. 在PHPstorm编辑器中配置git环境
  5. ISO13485给企业带来的益处
  6. StarlingMVC Framework中文教程
  7. NSURLSessionDownloadTask 断点下载
  8. list-style-type -- 定义列表样式
  9. 算法打基础——HashTable
  10. C++中的Traits技法
  11. SQL Server 手把手教你使用profile进行性能监控
  12. angular指令之complie和link不得不说的故事
  13. Nginx负载均衡——扩展功能(NGINX Plus)
  14. 下载caffe慢
  15. 处理 NCBI taxonomy tree
  16. ByteArrayInputStream
  17. CentOS6.9 安装Oracle 11G 版本11.2.0.1.0
  18. .Net下SQLite的DBHelp
  19. 联想预装Win10/Win8换Win7 教程 以及svn使用教程
  20. android studio中使用adb wifi插件无线调试程序

热门文章

  1. LAPM概述及配置
  2. Easy-Classification-分类框架设计
  3. Spring Security(5)
  4. Java 中经常被提到的 SPI 到底是什么?
  5. 第2-4-8章 规则引擎Drools实战(1)-个人所得税计算器
  6. Kubernetes(k8s)存储管理之数据卷volumes(五):动态制备-存储类StorageClass
  7. Qt栅格布局、ScrollArea和用户选择界面
  8. 【深入浅出Spring原理及实战】「源码原理实战」从底层角度去分析研究PropertySourcesPlaceholderConfigurer的原理及实战注入机制
  9. 修改数据时,一直提示"具有 XXX 的 字典管理 已存在(即数据已存在)
  10. python 实现DES加解密