计算机基础以及python,pycharm安装
计算机基础以及python|pycharm安装
1 编程和编程语言了解
1.1 什么是编程
编程就是将人类语言转换成计算机识别的语言。
1.2 什么是编程语言
人和人之间都会进行交流,人和人之间交流的媒介就是语言,所以编程语言就是人和计算机之间交流的语言。
1.3 为什么要出现编程语言
最根本的原因就是计算机无法识别人类的语言,于是大家就开发了计算机能识别的语言。
1.4为什么要做编程
编程就是为了让计算机能够理解人类所下达的指令,然后让计算机自动完成任务的功能。
2 计算机组成原理
2.1 什么是计算机
计算机就是能通电的智能设备,能够批量处理人类的指令和数据。
2.2 为什么要发明计算机
为了节省劳动成本和增加效益,让计算机24小时不间断工作。
2.3 计算机的五大组成部分
2.3.1 控制器
相当于人类的大脑,相互协调工作,完成任务。
2.3.2 运算器
- 相当于我们大脑进行的逻辑运算和数字运算的功能。
- 逻辑运算包括与或非等等。
- 数字运算包括加减乘除等等。
2.3.3 存储器
- 人类的记忆存在与大脑海马体中。
- 也分为长期记忆和短期记忆。
- 长期记忆就是小时候的记忆。
- 短期记忆就是闹得小矛盾睡一觉就忘。
- 也分为长期记忆和短期记忆。
2.3.3.1 内存
和我们短期记忆一样是临时存储数据的,如果是在电脑上断电重启数据就消失了。
2.3.3.1 外存
- 硬盘
- 机械硬盘
- 可以存储大量的数据,但是读取速度比较慢,好处是价格很低。
- 固态硬盘
- 可以存储大量的数据,但是读取速度会非常快,缺点就是价格太高了。
- 机械硬盘
2.3.4 输入设备
就是我们使用的向电脑输入内容的设备,鼠标键盘、麦克风、手写笔…
2.3.5 输出设备
计算机向我们展示信息的平台和设备,例如投影仪、显示器…
2.3.6 五大组成部分小结
- cpu就是人的大脑,负责控制全身和运算。
- 内存就是人的记忆,负责临时存储。
- 硬盘是人的笔记本,负责永久存储。
- 输入设备是耳朵或眼睛或嘴巴,负责接收外部的信息存入内存。
- 输出设备是你的脸部(表情)或者屁股,负责经过处理后输出的结果。
- 以上所有的设备都通过总线连接,总线相当于人的神经。
2.4 计算机的三大核心硬件
2.4.1 CPU
- 控制器 + 运算器 = CPU
- 控制整个电脑的调度和运算的中央控制处理器。
2.4.2 内存
- 是个临时存储数据的地方。
- 虽然断电数据消失,并且数据安全性低,但是读取速度极快。
2.4.3 硬盘
- 持久化存储数据的地方。
- 虽然断电数据不消失,但是数据安全性高,只要你的硬盘不发生损坏,就不会造成数据的丢失。读取速度慢。
2.5 程序的执行过程
- 数据准备
- 想用vx,应该要先下载vx 的应用程序
- vx的文件夹内,你会看到很多的文件数据,这些数据就是vx的启动程序
- 数据读取
- 从硬盘中将vx的数据读取到内存中,进行临时存储
- 双击vx的图标,出现vx登录界面这个操作就是数据从硬盘中读取到内存中的过程
- 数据写入
- 扫码登录
- 进入到vx聊天界面的过程就是CPU从内存中将数据读取出来进行调度和运算的过程
- 关闭vx ,CPU负责调度当前程序进行杀死,杀死过后要释放当前的内内存资源
- 点击关闭vx,慢慢的消失
- CPU将vx的数据保存到内存中
- 内存中的数据再写入到硬盘中,进行持久化存储
- vx完全退出了
3 操作系统的概念
3.1 操作系统的由来
- 其出现的目的就是为了简化我们的硬件操作
- 在最开始的时候,电脑就是一大堆硬件拼凑在一起
计算机是基于点工作的,电流有正负,高低电频之分, 0 / 1
- 随着时代的发展,我们想要简化一系列操作指令,我们只能是找到这些指令的替代品
3.2 操作系统
操作系统其实就是在一堆硬件的基础上实现功能和接口的封装,我们可以通过这些接口和程序进行硬件的调度。
3.3 开发一套操作系统
- 比如我们开发暴风影音
- 核心业务就是播放视频,输出音频
- 你在公司里,有这个需求就要完成这个需求,将这个功能开发一套
- 将视频文件数据从硬盘中读取出来放到内存中,再经过播放器进行转码
- 进行音视频输出
- 你的同桌在另一个公司,也需要开发这么一套功能
- 从零开发
- 所有开发者遵循共同的一套规范
- 我们共同研发出一个功能和接口
- 有一个所但是我们都有要是的副本
- 我们都遵循一个规范
- 核心业务就是播放视频,输出音频做成一个公共的
- 我们共同研发出一个功能和接口
- 下次谁需要这个功能谁就来直接拿着用
3.4 常见的操作系统
3.4.1 Windows平台
- Window 7
- Window xp
- Window 8
- Window 10
- Window 11
3.4.2 Mac平台
- IOS系统
- intel
3.4.3 Linux平台
- centos
- 蓝鲸
3.4.4 Andoraid
3.4.5 IOS
3.4.6 鸿蒙
3.5 系统软件和操作软件的区别
3.5.1 什么是系统软件
- 系统软件是就是建立在硬件至上的软件,负责调度整个硬件
- Window、MacOS、Linux
- 功能包括调度计算机服务,读取文件,进程管理 ...
3.5.2 什么是操作软件
3.5.2.1 系统软件
系统自带的服务, 网卡服务、文件管理器
3.5.2.2 应用软件
- 就是我们基于Window系统至上安装的其他软件
- QQ、微信、QQ音乐、网易云、WeGame
3.6 计算机系统的三层架构
- 底层就是硬件层
- 所有的操作都是基于硬件的
- 中间层就是操作系统层
- 所有的硬件调度服务都是基于操作系统的
- 最上面是应用层
- 进行工作和开发的软件层
3.7 平台
-
平台就是你的操作系统 + 你的硬件
-
Linux平台
- 用在服务器上
- 只需要一个 CPU+显卡+内存+硬盘
-
Window平台
- Window系统 + CPU + ...
-
MacOS平台
- macOS + Mac相关硬件
4 为什么要学python
-
跨平台性非常高,对于学习成本来说就很低了
- 即使是你的电脑配置很低
- 可以装Linux系统写代码
- 不建议轻易尝试
-
Window上能用、Linux上也能用 ....
-
java需要java虚拟机
5 编程语言
5.1 编程语言的分类
编程语言的发展史,在最开始的编程语言(人与计算机之间进行交流的媒介)肯定不是我们现在所学的Python
5.2 机器语言
5.2.1 什么是机器语言
- 机器语言就是计算机可以理解的语言,操作计算机的系统硬件
- 由于计算机基于电工作,电又分为高低电频 , 0 / 1
- 我们可以控制高低电频的变化组成一系列的指定去操作我们的系统硬件
- 机器语言因为他能直接操作计算机硬件,所以他事最低级的语言,因为只有计算机能看的懂,我们基本上看不懂
5.2.2 机器指令
控制高低电频的变化组成一系列的指令就叫机器指令,能控制电脑硬件
5.2.3 如何写机器指令
- 首先你得必须记住计算机的全部指令及核心代码的含义
- 在编写机器指令程序的时候需要自己处理每一条数据,以及数据随时可可能会发生的意外情况
- 这个过程是一件及其繁琐且耗费经历的工作
- 一般发生在源头厂家中,原头厂家调控硬件内部设备的时候会用得到
5.2.4 机器语言的示例
机器语言及其繁琐且难以记忆
'''指令部份的示例'''
0000 代表 加载(LOAD)
0001 代表 存储(STORE)
...
LOAD 0000 # 加载寄存器A
STORE 0001 # 存储到寄存器B
'''暂存器部份的示例'''
0000 代表暂存器 A
0001 代表暂存器 B
...
'''存储器部份的示例'''
000000000000 代表地址为 0 的存储器
000000000001 代表地址为 1 的存储器
000000010000 代表地址为 16 的存储器
100000000000 代表地址为 2^11 的存储器
5.2.5 机器语言的优缺点
- 优点
- 执行效率高
- 可以直接操作计算机的底层硬件
- 执行效率高
- 缺点
- 开发效率低
- 学习成本高,开发效率慢
- 跨平台性很差
- 所以更换系统硬件就会导致机器指令失效
- 理解原码、反码、补码、位运算( & | )
- 开发效率低
底层单位数据的换算
# 00000001 表示1字节,有256种排列方式,从0到255。
# 八个字节表示一个 bytes
# 8 字节 = 1 bytes
# 1024 bytes = 1 kB
# 1024 kb = 1 MB
# 1024 mb = 1GB
# 1024 GB = 1 TB
# 1024 TB = 1 ZB
5.3 汇编语言
- 汇编语言仍然可以直接操作底层硬件,但是美国人可以用一个字母或者一串字母来声明这串机器指令代表的含义
- 但是对比与机器语言来书,汇编语言就是一种进步,一定程度上降低了开发成本
5.3.1 什么是汇编语言
汇编语言其实就是用一个英文字母或者一串单词来代表机器语言的语言
5.3.2 汇编语言示例
; hello.asm
section .data ; 数据段声明
msg db "Hello, world!", 0xA ; 要输出的字符串
len equ $ - msg ; 字串长度
section .text ; 代码段声明
global _start ; 指定入口函数
_start: ; 在屏幕上显示一个字符串
mov edx, len ; 参数三:字符串长度
mov ecx, msg ; 参数二:要显示的字符串
mov ebx, 1 ; 参数一:文件描述符(stdout)
mov eax, 4 ; 系统调用号(sys_write)
int 0x80 ; 调用内核功能
; 退出程序
mov ebx, 0 ; 参数一:退出代码
mov eax, 1 ; 系统调用号(sys_exit)
int 0x80 ; 调用内核功能
5.3.3 汇编语言的优缺点
- 优点
- 执行效率高
- 直接操作计算机底层硬件
- 操作灵活
- 简化了一些机器指令可以让我们快速实现代码编程
- 可执行文件很小
- 执行效率高
- 缺点
- 开发效率低
- 仍然需要记住很多指令集
- 复杂度很高
- 一串代码可能会用到很多指令集
- 跨平台性很差
- 直接操作计算机底层硬件
- 开发效率低
5.4高级语言
5.4.1 什么是高级语言
- 高级语言就是从人类的角度出发,用人的思维将人的语言转换为计算机可以识别的语言
- 可以通过人类的指令实现操作计算机等硬件
- 我们不需要考虑底层硬件而是直接操作系统
- 更贴近与人类
5.4.2高级语言的分类
- 按照编译方式分为两类
- 编译型语言
- 解释型语言
5.4.3编译型语言
5.4.3.1什么是编译型语言
-
编译型语言就是将源代码一次性翻译成目标代码,然后生成一个可执行文件
- 下次执行代码只需要执行翻译过后的文件即可
-
如果我觉得代码中某些代码需要修改和完善,修改完代码以后就需要再重新编译
-
比如说我们拿到一篇英文文献
- 一次性将整篇文献翻译成汉语,直接使用
- 下次如果不改动,直接使用翻译稿即可
- 一旦发生改动,整篇文章重新翻译
- 一次性将整篇文献翻译成汉语,直接使用
5.4.3.2优缺点
- 优点:
- 一次编译处处执行,只需要编译一次,下一次可以直接拿过来用,效率很高
- 缺点
- 但是修改过后需要重新编译
- 跨平台性很差
- Window系统上编译出来的可执行文件只兼容windouw
5.4.3.3编译型语言的代表
- C、C++、C#、Java
5.4.2解释型语言
5.4.2.1什么是解释型语言
-
解释性语言就是在执行代码的过程中,不是一次性变异而是用到哪里就编译到哪里
-
一点一点的进行编译后执行
-
比如说我们拿到一篇英文文献
- 翻译一段就用一段,用到哪就翻译到哪
- 效率就变低了
5.4.2.2解释型语言的优缺点
- 优点
- 不需要改动后再编译,开发效率提高了
- 跨平台性很强
- 缺点
- 执行效率变慢了
5.4.2.3编译语言代表
- Go、Python
5.5各种那个开发语言对比
5.5.1 执行效率
- 机器语言
- 汇编语言
- 高级语言
- 编译型
- 解释型
5.5.2 开发效率
- 高级语言
- 解释型
- 编译型
- 汇编语言
- 机器语言
5.5.3 跨平台性
- 高级语言
- 解释型
- 编译型
- 汇编语言
- 机器语言
6 Python语言介绍
6.1 创建人
- 吉多·范罗苏姆(Guido van Rossum)。
6.2 名字的由来
- Python这个名字,来自Guido所挚爱的电视剧《Monty Python’s Flying Circus》,他希望这个新的叫做Python的语言,能符合他的理想:
- 创造一种C和shell之间,语法能够像shell一样简洁,易学易用、可拓展性强,同时兼顾C的强大功能。
6.3 全球语言排行榜
6.4 Python语言的应用领域
- 人工智能、数据分析、爬虫、金融量化、云计算、WEB开发、自动化运维/测试、游戏开发、网络服务、图像处理等众多领域。
- 图像处理比如人脸识别
- 数据分析
6.5 Python解释器的发展史
-
1989年,Guido开始写Python语言的编译器。
-
1991年,第一个Python编译器诞生。
- 它是用C语言实现的,并能够调用C语言的库文件。
- 从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
-
Python 2.7 - July 3, 2010
-
Python 3.6 - 2016-12-23 发布python3.6.0版
-
Python3.10版本我们学
-
最新版本的解释器不稳定存在bug
6.6 Python的解释器的种类
6.6.1 Cpython解释器
-
基于C语言开发的解释器版本
-
我们学习使用的解释器就是基于C语言开发出来的CPython解释器
-
底层源码都是C语言,如果从Python代码开源码,看不到C代码
-
从Python解释器的官网 GitHub
6.6.2 jpython
- 基于Java写的Python解释器,没人用
6.6.3 ipython
- 可以进行交互的解释器版本呢
7 Python解释器安装(Window版本)
7.1 访问Python官网
7.2选择Windows系统
7.3 搜索指定版本
- Window系统
- ctrl + f
- Macos
- command + f
7.4安装解释器
7.5自定义安装
7.6 安装成功
8 Python解释器安装(Mac)
8.1 打开官网
Python Releases for macOS | Python.org
8.2双击安装程序
- .pkg结尾的安装包
9 书写Python代码
9.1直接在命令行书写代码
- win + r 调出窗口然后CMD调出命令行窗口,进入到终端 敲 python 进入到解释器环境,直接书写代码。
如果在终端书写大量的Python代码,不能美化代码样式并且书写起来很费劲,临时的
9.2 借助文件
- 桌面上新建一个 txt文档
- 书写Python代码
- 将文件名命名为 以 .py 结尾的文件
修改的事文件的扩展名而不是文件名
- 执行Python代码需要再终端输入 python + py文件路径即可完成调用
9.3 方案
- 我们向美化界面并且能持续的书写Python代码
- 需要借助第三方工具
- sublit 、 pycharm 、 vscode ...
- 我们用pycharm
9.4 Python代码执行的顺序及流程
-
读取应用程序并执行的流程
-
我写了一个带有Python代码的文件保存到了我的硬盘上
-
首先我要将文件里的内容读取到内存中
-
CPU需要将数据从内存读取到CPU,CPU去调度执行
- 需要用到Python解释器
- 去找Python解释器
- 找到了我安装的解释器 python.exe
-
调度解释器去执行代码
10 安装pycharm
10.1 访问官网
https://www.jetbrains.com.cn/)
10.2 点击下载安装,全选/选jetbrains
安装完成即可
11 pycharm操作
11.1 添加解释器环境
11.2 选择系统解释器
11.3添加系统解释器第二种
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY