✨个人主页:熬夜学编程的小林
💗系列专栏: 【C语言详解】 【数据结构详解】【C++详解】【Linux系统编程】【MySQL】【Python】
目录
[2、Python 背景知识](#2、Python 背景知识)
[2.1、Python 是咋来的](#2.1、Python 是咋来的)
[2.2、Python 都能干啥](#2.2、Python 都能干啥)
[2.3、Python 的优缺点](#2.3、Python 的优缺点)
[2.4、Python 的前景(钱景)咋样](#2.4、Python 的前景(钱景)咋样)
[3、搭建 Python 环境](#3、搭建 Python 环境)
[3.1、安装 Python](#3.1、安装 Python)
[3.2、安装 PyCharm](#3.2、安装 PyCharm)
1、计算机基础概念
1.1、什么是计算机
很多老一辈的人, 管下面这个叫做计算机. 然鹅, 它只是 "计算器", 和计算机是有很大区别的.

现在我们所说的计算机, 不光能进行算术运算 , 还能进行逻辑判断 , 数据存储 , 网络通信等等功能, 以至于可以自动的完成非常复杂的工作.
以下这些都可以称为 "计算机" :

总的来说, 一台计算机, 主要由以下这几个重要的组件构成
- CPU
- 存储器 (内存, 硬盘等)
- 输入设备 (键盘, 鼠标等)
- 输出设备 (显示器, 音响等)

PS: CPU 是目前人类科技的巅峰之作. 科技含量能和 CPU 相提并论的, 只有氢弹了.
美国限制向中国出口 "芯片", 这里的芯片主要指的就是 CPU. 目前国内虽然有自主研发 CPU 的能
力, 但是整体的水平, 相比于国际一线的 Intel, AMD 等厂商相比, 还是有一定的差距的.
PSS: 有的同学可能说, 重要的硬件不是还有显卡嘛? 都老贵了!
其实显卡(GPU)是和 CPU 类似的计算芯片,
- CPU 是 "通用计算芯片", 可以处理各种场景下的各种问题. 就像高校培养的学生. 可以在各个行业各个领域贡献力量.
- GPU 是 "专用计算芯片", 特别擅长处理浮点数运算. 就像比特培养的学生, 专注于互联网软件技术.
以上的组成结构, 称为 "冯诺依曼体系结构" . 冯诺依曼大佬, 正是计算机的祖师爷.

PS: 冯诺依曼除了是计算机祖师爷之外, 还是一位数学家, 物理学家, 化学家, "博弈论" 的创始人, 参
与过曼哈顿计划(担任原子弹制造顾问).
据传闻, 冯诺依曼大佬六岁心算八位数除法, 八岁掌握微积分, 十岁通读了世界史, 十七岁发表了第
一篇数学方面的论文.
PSS: 计算机的祖师爷, 除了冯诺依曼之外, 还有一位图灵大佬, 也在二战中发挥了至关重要的作用.
1.2、什么是编程
计算机需要硬件赋予之躯体, 也需要软件赋予之灵魂.
"软件 " (或者叫做 程序 ), 指挥了计算机要按照什么样的规则来执行任务.

制作软件, 就是在明确这个软件要完成什么样的任务 , 这个过程就称为 "编程" .
例如: 我的女神给我说, 让我去买三个包子, 如果遇到卖西瓜的就买一个.
这个交代任务的过程就是 "编程". 只不过执行这个程序的是我, 不是计算机.
PS: 换个角度看, 人脑 也能算术运算, 能逻辑判断, 能数据存储, 能输入输出..... 也可以视为是一个广
义的计算机.
编程本身, 并不是一件很容易的事情, 因此就衍生出了一个专门负责编程的职业, 也就是程序员.

程序员这个岗位香不香, 看看 相亲市场 就知道.

程序员进行编程的过程中, 需要使用一个专门的方式和计算机沟通 , 就是 "编程语言 " .
使用编程语言编写软件的具体过程 , 就称为 "软件开发 ", 俗称 "敲代码".
1.3、编程语言有哪些
编程语言大体可以分成三个大类
- 机器语言
- 汇编语言
- 高级语言
其中机器语言和汇编语言 都是更贴近计算机 的, 人类理解起来并不容易 .
因此目前程序员使用的编程语言主要是高级语言.
高级语言的种类有很多很多. 以下列出的都是实际开发中常用的编程语言.


可以看到, Python 在这个走势中是名列前茅的.
2、Python 背景知识
2.1、Python 是咋来的
吉多·范罗苏姆 (Guido van Rossum) 是一个荷兰程序员 (人称龟叔 , 名字前三个字母是 Gui),龟叔在 1989 年圣诞节的时候(当时 33 岁), 因为在家里待着无聊, 为了打发时间, 开始了 Python 的开发.
第一个正式版本发布于 1991 年.

- 1991 年是一个神奇的年份.
- Python, 万维网, Linux, Vim, Qt, 第一台笔记本电脑, 都诞生于 1991 年.
2.2、Python 都能干啥
经历了多年的发展,Python 目前是一个应用场景非常广泛的编程语言.
- 科学计算&数据分析
- Web 开发(搭建网站)
- 自动化运维
- 人工智能
- 爬虫程序
- 自动化测试

2.3、Python 的优缺点
优点:
- 语法言简意赅, 容易上手.
- 功能强大, 用途广泛.
- 生态丰富, 具有海量的成熟第三方库.
- 方便调用 C/C++ 编写的代码进行 高性能/系统级 操作.
缺点:
- 执行效率比较弱.
- 对于多核心并发程序支持偏弱.
- 动态类型系统对于大型项目不太友好.
2.4、Python 的前景(钱景)咋样
虽然 Python 的应用场景很多, 但是纯粹使用 Python 的岗位是比较少见的.
以知名互联网招聘网站拉钩网为例, 设置工作地点为北京, 工作年限为3年以下,
- 搜索 Python 关键字得到的岗位个数为 88 个.
- 搜索 C 关键字得到的岗位个数为 159 个.
- 搜索 Java 关键字得到的岗位个数为 297 个.
上述数据只是简单采样, 并不能精确反应岗位的整体情况.

更常见到的情况是, 把 Python 作为一个辅助性质的语言.


在工作中, Python 更像是一个工具, 需要用到的时候随手拿起来就用, 能够方便的解决不少问题.
- 这就像一局王者荣耀, 有人打的是 carry, 有人打的是辅助.
- PS: 网上很多信息把 Python 往往吹的天花乱坠, 但是在我看来, 是有些过火了.
- Python 和其他的编程语言本质上并没有啥区别. 并不存在某个场景是 "非得 Python 能做, 其他语言做不了" 这样的情况.
- 编程语言只是工具, 作为一个程序猿, 要做到十八般兵器都能样样精通.
3、搭建 Python 环境
要想能够进行 Python 开发, 就需要搭建好 Python 的环境.
需要安装的环境主要是两个部分:
- 运行环境: Python
- 开发环境: PyCharm
3.1、安装 Python
(1) 找到官方网站

在搜索引擎中搜索 python 关键字, 带有 "官网" logo 的结果即为 Python 官方网站(注意不要点到带有"广告字样" 的结果).
PS: 下载安装软件, 最靠谱的方法就是去官网上下载.
(2) 找到下载页面
选择 "Download for Windows"

注意: Python 的版本在持续迭代更新中. uu们看到的版本不一定和我这里完全一致, 但是基本不影响学习使用.
关于 Python 版本的补充
- 现在主流使用的 Python 版本是 Python 3 系列. 但是同学们以后在公司中, 接触到一些比较老的项目, 可能还在使用 Python 2 .
- 3 系列 和 2 系列 之间的语法还是存在不小差别的. 咱们学习的内容主要是依据 Python 3 系列展开.
下载完成后, 会得到一个 exe 的安装程序.

(3) 双击安装包
双击安装包, 安装 Python.
注意:
- 最好勾选下 "Add Python 3.10 to PATH" 这个选项.
- 要记得 Python 的安装目录(后面可能会用到).

点击 Install Now 之后, 稍等片刻, 就安装完毕了.

这个安装过程非常简单, 一般只要不报错, 就算安装成功.
(4) 运行 hello world

其中最关键的就是这个 python.exe . 后续运行 Python 程序, 全靠这个 python.exe
如果直接双击这个 python.exe , 就会打开 Python 的交互式解释器(控制台程序). 在这个交互式解释器中, 就可以输入 Python 代码了.
直接输入 print('hello') 这句代码, 按下 enter 键, 则打印出了 hello 这样的结果.

注意: 代码中的 ( ) 和 ' ' 都是英文, 不要写中文标点符号!
- 编程语言中基本不会出现中文标点, 大家在写代码的时候一定要仔细注意.
3.2、安装 PyCharm
虽然通过交互式解释器可以执行 Python 代码了, 但是代码写起来并不方便. 就需要更专业的开发工具来编写 Python 代码.
目前业界常用的 Python 开发工具, 主要有下列选项:

其中最主流的开发工具就是 PyCharm 和 VS Code 了. 咱们以 PyCharm 为例进行演示.
(1) 找到官方网站

注意: 这个搜索结果中没有标识出 "官网", 但是大家要认准 jetbrains.com 这个域名.
- PS: JetBrains 是捷克的一家互联网公司. 主要的业务就是开发编程工具. 像 Java 的 IDEA, C++ 的CLion, Python 的 PyCharm, Go 的 GoLand 等等都是出于 JetBrains 之手. 这些工具功能都非常强大, 深受广大程序猿的喜爱. 因此网友们也亲切的称呼这些开发工具为 "JB 全家桶".
(2) 找到下载页面

注意: , 进入官网之后不着急直接点这个下载, 先把页面拖到最下面.

点击方框圈起来的位置, 进行下载.
PS: PyCharm 有三个版本.
- 专业版 (Professional Edition)
- 社区版 (Community Edition)
- 教育版 (Educational Edition)
我们使用的是社区版.
- 专业版 相比于 社区版, 功能要更丰富一些, 但是专业版收费, 社区版免费(显然要白嫖).
- 教育版功能和专业版相同, 但是需要凭 edu 邮箱去 JB 官网申请(过程其实也不麻烦, 但是俺没有edu 邮箱).
我们使用 社区版 就足够用了.
下载完成后, 会得到一个 exe 程序.

(3) 双击安装包
双击安装包. 注意选下安装路径.

建议把这个选项勾上, 这样在任意目录鼠标右键, 就都可以直接用 PyCharm 打开目录了.

这个安装过程非常简单, 一般只要不报错, 就算安装成功.
(4) 运行 hello world
a) 创建一个项目

b) 选择项目所在的位置, 并选择使用的 Python 解释器.
- 注意, 一般情况下, PyCharm 能够自动识别出 Python 解释器的位置. 但是如果没有自动识别出来,也没关系, 点击右侧的 ... 选择之前安装的 Python 的路径位置即可.

c) 创建文件
右键左侧的项目目录, 选择 New -> Python File

填写文件名

d) 编写代码

e) 运行程序
右键文件, 选择 "Run 'hello' "


(5) 进行基本设置
a) 设置字体大小
PyCharm 默认的字体比较小, 看起来很费眼睛. 可以设置大一点.
选择 File -> Settings

找到 Editor -> Font, 把字体 Size 和 Line height 都适当调整.
- Size 表示字体大小. 数字越大文字越大.
- Line height 表示行高, 数字越大则两行文字之间的间隔就越大.
