万字长文丨大白话带你由浅入深Python编程语言

前言

听说现在是全民 Python 的时代,虽然不知道事实如何,但学会 Python 的确可以做很多事。据我了解,Python 目前主要有五大用途:网站开发、网络爬虫、人工智能、数据分析、自动化运维。而对于职场人士来说,Python 则可以用来进行自动化办公。除此之外,如果你想自己开发一些小游戏、小工具,Python 也是一个不错的选择。

私信小编01即可获取大量python学习资源

相较于其他编程语言,Python 不仅上手容易,而且由于代码库(就是别人已经写好的代码,我们可以直接拿来用)丰富,我们在实现功能时需要写的代码也更少。

目前,Python 有 2.x 和 3.x 两个版本,且两个版本不兼容。本文主要针对 3.x 版本。

正文

从小白的日常说起

在学习 Python 编程之前,我们先来看一个现实生活中可能出现的场景——

某天,小白下班回到家里,想起今天的《斗罗大陆》更新了。于是赶紧兴冲冲地跑到电脑桌前,打开笔记本电脑,然后登录腾讯视频观看最新一集的《斗罗大陆》。但是,看视频怎么能少得了瓜子呢?于是,小白又从柜子里拿出了一包瓜子,磕着瓜子看着《斗罗大陆》,小白露出了满意的笑容。

看到这里,你可能会一脸懵逼——这傻逼作者在讲什么,这跟 Python 编程有什么关系吗?但我要说的是,上述场景其实就是一个程序的执行过程,它和计算机内的程序执行类似,只不过这个程序的执行,是发生在我们所处的现实世界当中。至于为什么这么说,我们下面就来看看——

一、现实世界 VS 计算机世界

在计算机的世界里,一个程序的执行过程可以简单地理解为:计算机从内存中的指定地址获取到所需数据,然后对该数据进行某种操作,如此循环往复。

现在我们把小白回家日常的场景描述稍微改造一下:小白从家里的电脑桌上获取到笔记本电脑,然后打开笔记本电脑观看《斗罗大陆》。再从柜子里获取到瓜子,开始边嗑瓜子边看《斗罗大陆》。

怎么样?是不是跟计算机内程序的执行过程很相似。其实计算机从内存中的指定地址获取数据,就相当于小白从家里的某个位置获取某个物品。而计算机对数据的操作,就相当于小白对物品的操作。

计算机世界

现实世界

计算机

小白

计算机内存

小白的家

内存地址

家里的位置

数据

物品

从内存中指定地址获取数据

从家里的某个位置获取物品

对数据的操作

对物品的操作

二、小白执行手册 VS Python 程序代码

现在,假设小白是一个听话的小白,无论你让他做什么,他都会按你的要求一丝不苟的照做。于是你嘿嘿一笑,立马给小白安排了 10 套暑假作业、20 套网络课程、30 套健身计划。小白很开心,并对你表示万分感谢。

但是,你不可能一直呆在小白身边,给他讲解每个步骤。于是,你想到可以写一份执行手册,然后让小白按照上面的步骤去执行。这份执行手册其实就相当于 Python 程序代码。只不过你的执行手册是写给小白看的,而 Python 程序代码是写给计算机看的。换句话说,Python 程序代码就是写给计算机的执行手册。

三、执行手册书写格式 VS Python 编程语法

假设你是一个强迫症患者,为了写出一份美观、简洁的执行手册,你规定了一些书写格式——

1、给物品取别名

可以给某个位置的物品取一个独一无二的别名。当需要用到该物品时,可以使用别名代替。其书写格式为:

别名 = 某个位置的物品

2、给一系列步骤取行为名

在给小白写某个行为的具体步骤时,可以给这一系列步骤取个名称,该名称我们称为行为名。当需要用到这些步骤时,可以使用行为名代替。其书写格式为:

行为名():
    步骤1
    步骤2
    ...
    步骤n

注意:行为名后面带了括号和冒号。

3、使用行为名代替一系列步骤

由于一些步骤可能被多次用到,如果每次都要写一大堆步骤就太麻烦了。因此,我们可以在给这些步骤取完行为名后,用行为名来代替这些步骤。其书写格式为:

步骤1
步骤2
行为名()
...
步骤n

注意:使用行为名代替一系列步骤时,要在行为名后面加括号,以表明这是一个行为名。

4、条件判断的写法

当需要根据具体情况(即满足某种条件)来决定是否进行某种操作时,使用以下书写格式:

如果 某种条件:
    某种操作

注意:这里的“如果”,是固定写法。

5、重复操作的写法

对于当满足某种条件时,需要一直重复进行某种操作的情况,使用以下书写格式:

当 某种条件:
    某种操作

注意:这里的“当”,是固定写法。

规定好了执行手册的书写格式后,只要让小白学会怎么看懂这些书写格式,那他就能根据你的执行手册自己去执行了。

这些书写格式就相当于 Python 编程语言的语法。我们在编写 Python 程序时,只要严格按照 Python 语法去编写程序代码,计算机就能理解并按你的要求去执行了。

四、编写小白执行手册 VS 编写 Python 程序代码

现在,你怀着激动而又忐忑的心情开始给小白编写执行手册了。最终你的《小白执行手册》是这样的——

当 暑假作业没写完10套:
    写暑假作业()

当 网络课程没学完20套:
    观看网络课程()

当 健身不足30套:
    健身()
    喝水()

写暑假作业():
    暑假作业 = 书桌抽屉里的白色封面暑假作业
    铅笔 = 书桌上笔筒里的黑色铅笔
    打开暑假作业
    如果 铅笔尖钝了:
        削铅笔
    用铅笔写暑假作业

观看网络课程():
    笔记本电脑 = 电脑桌上的ThinkPad笔记本电脑
    打开笔记本电脑
    登录网易云课堂
    观看Python课程

健身():
    哑铃 = 南边墙角下的15公斤哑铃
    哑铃弯举100下
    哑铃划船100下
    哑铃卧推100下

喝水():
    矿泉水 = 冰箱里的娃哈哈矿泉水
    打开矿泉水瓶盖
    喝矿泉水

看到如此简单、优雅的执行手册,是不是很令人身心舒畅?我们接下来要学习的 Python 编程语言就是一门简单、优雅的编程语言。

而且,编写 Python 程序代码的过程,与编写《小白执行手册》的过程也很类似。只不过,编写 Python 程序代码时,涉及到语法会更加丰富,对一些格式的要求也更加严格。

现在开始学 Python

我们已经知道了编写 Python 程序的过程,其实就是给计算机编写执行手册的过程。也知道了一个程序的执行过程,就是不断地根据地址从内存中取数据,然后操作数据的过程。而 Python 程序在执行过程中所涉及的东西,有些是计算机本身已有的,有些则是需要我们通过 Python 语言告诉计算机的。

1、程序执行涉及的东西

接下来,我们就来简单地了解一下 Python 程序执行过程中所涉及到的一些东西。同时明确一下哪些是计算机本身已有的,哪些我们需要告诉计算机的——

(1)内存

内存是计算机内用于存放程序运行时所需数据的地方,我们在编写 Python 程序时涉及到的数据,在使用前都会存放在内存中。

内存由计算机自己管理,我们无法直接控制(可以通过一些优化技巧来间接控制,但我们目前先不考虑这个),因此我们在编写 Python 程序时不用管这个。

其实计算机会将内存分配给 Python 虚拟机,然后由 Python 虚拟机负责管理内存,但我们可以把 Python 虚拟机简单地理解为计算机的一部分。

(2)数据

数据可以简单地理解为存储在计算机内的东西。

计算机存储数据的地方有磁盘和内存:磁盘就是我们平常在 Windows 电脑上看到的 C 盘、D 盘等,可永久保存数据;内存则负责临时保存程序运行时所需要的数据,它无法永久保存数据。我们后面提到数据时,如果没有特殊说明就是指内存中的数据。

程序运行时,计算机会给这个程序分配一个内存块,这块内存一开始是没有任何数据的。这就跟小白哪天搬了新家一样,一开始家里是没有任何东西的。因此我们在编写 Python 程序时,就需要告诉计算机如何在内存中生成数据,一般有以下三种生成数据的方式——

  • 自己创建:后面我们会学到如何创建基本类型的数据以及自定义类型的数据。基本类型是 Python 本身提供的数据类型,而自定义类型则通过类和对象来创建(类和对象是面向对象编程中的概念,这个我们后面会学到)。
  • 从计算机本地磁盘读取:后面我们要学的文件读写,就是用来处理来自计算机本地磁盘的数据的。
  • 从网络中读取:由于本文只是带大家入门的,因此我们不讲如何处理来自网络中的数据,有兴趣的可以自己百度下“Python 网络编程”。

无论是自己创建的、从磁盘读取的、还是从网络中读取的数据,最终都会存放在内存中。

(3)数据在内存中的地址

Python 程序在执行过程中,所涉及到的数据都会在内存中有一个对应的地址。一旦需要这个数据,就能根据这个地址从内存中获取该数据。

也就是说,我们在编写 Python 程序时,如果需要某个数据的话,只需要告诉计算机这个数据所在的地址就行了。但由于我们不像计算机一样,可以根据地址就能知道里面存的是什么数据,因此,为了方便编写 Python 程序,我们可以给这个地址取个别名,这个别名在编程语言中称为变量名,而取别名则称为赋值。

  • 变量:本质上是一小块内存空间。在 Python 中,变量里存储的是地址,而变量具有变量名,这个变量名就是地址的别名。由于计算机会自动将地址转换成数据(从地址中获取数据),因此,我们可以简单地理解为变量里存储的是数据,而变量名就是数据的别名。
  • 赋值:将某一数值赋给某个变量的过程。在 Python 中,就是将地址值赋给某个变量的过程,这个过程相当于给地址取别名。由于计算机会自动将地址转换成数据(从地址中获取数据),因此,我们可以把赋值简单理解为给数据取别名。

(4)如何根据地址从内存中获取数据

计算机会自动根据变量名找到对应的地址,再从该地址获取数据。我们在编写 Python 程序时不用管这个。

(5)对数据进行何种操作

由于对数据进行什么操作,是由我们的意愿决定的。因此,我们在编写 Python 程序时,就必须告诉计算机如何操作数据。

一般操作数据有两种方式——

  • 运算符:也叫操作符,其实就跟数学里的加、减、乘、除等运算符一样。
  • 函数:函数中封装了一系列代码片段,该代码片段一般用于实现特定功能。跟我们前面说的给一系列步骤取一个行为名类似,函数就相当于给一系列代码片段取一个名称(函数名)。

(6)当存在多个操作时,如何控制操作的流程

当存在多个操作时,我们必须告诉计算机哪个操作先执行,哪个后执行。否则,计算机将无法正常执行程序。

在编程语言中,一般有三种控制流程的方式——

  • 顺序控制:从上往下依次执行代码。程序执行时,默认就是顺序执行。
  • 选择控制:根据不同条件,执行不同代码。后面我们要学的条件语句,就是用来进行选择控制的。
  • 循环控制:根据指定条件,重复执行某段代码。后面我们要学的循环语句,就是用来进行循环控制的。

2、编写 Python 程序需要做的事

现在,我们来总结一下,在编写 Python 程序时,一般需要做哪些事情——

  1. 生成数据:创建基本类型数据、创建自定义数据(类、对象)、从磁盘中读取、从网络中读取。
  2. 给数据取别名:变量、赋值。
  3. 操作数据:运算符(操作符)、函数。
  4. 控制操作数据的流程:顺序、选择、循环。

一、Python 安装与运行

1、Python 安装

由于本人只有 Windows 电脑,因此这里只介绍 Windows 上安装 Python 的过程。

(1)下载 Python 安装包

我们这边下载 Python 3.9.6 版本——

  • 32 位 Windows 系统: https://www.python.org/ftp/python/3.9.6/python-3.9.6.exe
  • 64 位 Windows 系统: https://www.python.org/ftp/python/3.9.6/python-3.9.6-amd64.exe

如果要下载其他平台或者其他版本的 Python 安装包,可以自己到官网去下载。官网下载地址:
https://www.python.org/downloads/

(2)安装 Python

下载完安装包后,双击运行,勾选上“Add Python 3.9 to PATH”,然后点击“Install Now”即可。

如果不想使用默认安装,也可以选择“Customize installation”进行自定义安装。

(3)检查是否安装成功

安装完成后,打开命令提示符(按下 Windows 键 + R 键,在弹出的输入框内输入“cmd”,敲回车,即可打开命令提示符),输入 python 后,敲回车,如果出现类似以下内容,则说明安装成功。

Microsoft Windows [版本 10.0.19042.1110]
(c) Microsoft Corporation。保留所有权利。

C:\Users\10100>python
Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

否则,有可能是没有勾选上“Add Python 3.9 to PATH”,这时候就需要修改环境变量,把 python.exe 所在路径添加在 Path 中。如果不知道怎么修改环境变量,可以直接卸载重装。

2、Python 运行

下面介绍三种运行 Python 的方式——

(1)命令行模式运行 Python

按下 Windows 键 + R 键,在弹出的输入框内输入“cmd”,敲回车,即可进入命令行模式。

在命令行模式下,可进入 Python 文件(.py 文件)所在目录,输入 python 文件名.py 后敲回车,来运行 Python 文件。

Microsoft Windows [版本 10.0.19042.1110]
(c) Microsoft Corporation。保留所有权利。

C:\Users\10100>cd /d D:\mypython

D:\mypython>python hello.py
hello world

也可以直接输入 python 文件完整路径 ,而不用进入 Python 文件所在目录。

Microsoft Windows [版本 10.0.19042.1110]
(c) Microsoft Corporation。保留所有权利。

C:\Users\10100>python D:\mypython\hello.py
hello world

(2)交互模式运行 Python

进入命令行模式后,输入 python ,敲回车,即可进入交互模式。输入 exit() ,敲回车,即可退出交互模式。

在交互模式下,会有 >>> 提示符, >>> 后可直接编写 Python 代码。编写完后敲回车,即可执行代码。

Microsoft Windows [版本 10.0.19042.1110]
(c) Microsoft Corporation。保留所有权利。

C:\Users\10100>python
Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print('hello world')
hello world
>>>

(3)集成开发环境(IDE)运行 Python

集成开发环境(IDE)可理解为用于编写 Python 程序的一整套工具,只不过这些工具被集中放在一个软件内。比如 PyCharm 或者装了相关插件的 Visual Studio Code(简称 VS Code)。

我们在实际编写 Python 程序时,一般会使用 IDE。由于 IDE 自带了运行 Python 的功能,因此前面两种运行 Python 的方式,我们了解即可。

二、第一个 Python 程序

这里推荐使用 VS Code 来编写 Python 程序,推荐理由很简单——它的界面清爽、干净,看起来贼舒服(一个不太正经的理由,勿喷,谢谢)!除此之外,VS Code 也可以通过安装插件来集成更多的功能。

1、安装 VS Code

安装过程中,注意勾选上“创建桌面快捷方式”的选项,其他按默认的来就行。

 

2、使用 VS Code 编写程序

现在,我们来使用 VS Code 编写一个打印“hello world”的 Python 程序——

(1)创建新文件

点击左上角的 File -> New File(或者按 Ctrl + N)即可创建新文件。

 

(2)编写代码

在编辑栏内输入 print('hello world') 。

print() 函数用于在控制台打印内容。

 

(3)保存文件

点击左上角的 File -> Save(或者按 Ctrl + S),在弹出框内选择保存路径(图例中保存在 D:\mypython),并命名为 hello.py 后点击保存。

 

 

(4)执行程序文件

点击 View -> Termina

1. 开胃菜 2. 使用 Python 解释器 2.1. 调用 Python 解释器 2.1.1. 参数传递 2.1.2. 交互模式 2.2. 解释器及其环境 2.2.1. 错误处理 2.2.2. 执行 Python 脚本 2.2.3. 源程序编码 2.2.4. 交互执行件 2.2.5. 本地化模块 3. Python 简介 3.1. 将 Python 当做计算器 3.1.1. 数字 3.1.2. 字符串 3.1.3. 关于 Unicode 3.1.4. 列表 3.2. 编程的第一步 4. 深入 Python 流程控制 4.1. if 语句 4.2. for 语句 4.3. The range() 函数 4.4. break 和 continue 语句, 以及循环中的 else 子句 4.5. pass 语句 4.6. 定义函数 4.7. 深入 Python 函数定义 4.7.1. 默认参数值 4.7.2. 关键字参数 4.7.3. 可变参数列表 4.7.4. 参数列表的分拆 4.7.5. Lambda 形式 4.7.6. 档字符串 4.8. 插曲:编码风格 5. 数据结构 5.1. 关于列表更多的内容 5.1.1. 把链表当作堆栈使用 5.1.2. 把链表当作队列使用 5.1.3. 列表推导式 5.1.4. 嵌套的列表推导式 5.2. del 语句 5.3. 元组和序列 5.4. 集合 5.5. 字典 5.6. 循环技巧 5.7. 深入条件控制 5.8. 比较序列和其它类型 6. 模块 6.1. 深入模块 6.1.1. 作为脚本来执行模块 6.1.2. 模块的搜索路径 6.1.3. “编译的” Python 件 6.2. 标准模块 6.3. dir() 函数 6.4. 包 6.4.1. 从 * 导入包 6.4.2. 包内引用 6.4.3. 多重目录中的包 7. 输入和输出 7.1. 格式化输出 7.1.1. 旧式的字符串格式化 7.2. 件读写 7.2.1. 件对象方法 7.2.2. pickle 模块 8. 错误和异常 8.1. 语法错误 8.2. 异常 8.3. 异常处理 8.4. 抛出异常 8.5. 用户自定义异常 8.6. 定义清理行为 8.7. 预定义清理行为 9. 类 9.1. 术语相关 9.2. Python 作用域和命名空间 9.2.1. 作用域和命名空间示例 9.3. 初识类 9.3.1. 类定义语法 9.3.2. 类对象 9.3.3. 实例对象 9.3.4. 方法对象 9.4. 一些说明 9.5. 继承 9.5.1. 多继承 9.6. 私有变量 9.7. 补充 9.8. 异常也是类 9.9. 迭代器 9.10. 生成器 9.11. 生成器表达式 10. Python 标准库概览 10.1. 操作系统接口 10.2. 件通配符 10.3. 命令行参数 10.4. 错误输出重定向和程序终止 10.5. 字符串正则匹配 10.6. 数学 10.7. 互联网访问 10.8. 日期和时间 10.9. 数据压缩 10.10. 性能度量 10.11. 质量控制 10.12. “瑞士军刀” 11. 标准库浏览 – Part II 11.1. 输出格式 11.2. 模板 11.3. 使用二进制数据记录布局 11.4. 多线程 11.5. 日志 11.6. 弱引用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值