暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

给初学Python的同学分享点入门知识

语和言 2023-01-15
226

注:本文是写给选胡凤国老师Python课的同学们的,其它Python初学者在学习Python的时候也可以参考。



一、引言

同学们,下学期咱们将一起学习Python,如果大家在寒假里有时间且有兴趣提前了解或者复习一下耍大蛇技能的话,这里给大家提供一些入门的文章供参考。


需要说明的是,下面这些入门知识都是以Windows系统为例进行介绍的,关于苹果系统和Linux系统中如何安装Python软件和运行Python程序,本公众号目前还没有涉及,由于没有非Windows电脑,胡凤国老师的Python课堂也不会介绍这方面的知识

所以,请选课的同学自行准备安装有Windows操作系统的笔记本电脑到教室上Python课。

当然,如果同学确信能在非Windows电脑上搞定Python软件安装Python程序运行的问题,也可以仍然使用自己原有的非Windows操作系统。欢迎同学在本号分享非Windows操作系统耍大蛇的经验。



二、入门知识

胡凤国老师不止一次跟选课程他编程课的同学们说过,编程课可以在入门后不需要老师就可以学得很好的为数不多的课程之一,前提是学习者能投入时间并保持兴趣。(当然,有老师能让你学得更快。)

因为编程任务和编程作业做完之后马上就能自己判断对错:程序运行效果跟跟任务要求不一样就是错的,程序输出结果跟作业要求不一样就是错的,否则就是对的。这个特点是其它课程的任务和作业所不具备的。所以,有一定自学能力的学习者,在学习Python基础知识的时候,一旦入门之后,就完全可以通过自学掌握Python基础知识。

入门知识有哪些呢?首先知道如何安装Python软件,编写和运行Python程序的步骤;其次要知道如何安装扩展库,导入和使用标准库和扩展库的方法;再次要知道一点Python的基础语法。了解这些差不多就算入门了。

1、安装Python软件和运行Python程序

下面是早期以做的一个以Python 3.6.5为例来说明安装Python软件和运行Python程序的讲义,有PPT有视频讲解。
公众号文章(点击链接进入)

Python软件的安装和Python程序的运行

后来,由于某种需要,把 Python 3.6.5 换成了 Python 3.7.6 ,又写了一个安装Python软件和运行Python程序的讲义,跟 3.6.5 的大同小异,这个讲义只有PPT,没有视频。
公众号文章(点击链接进入)
Python软件的安装和Python程序的运行(Python 3.7.6)

其它版本的下载、安装和运行都差不多,大家可以选择自己喜欢的Python版本来安装。

因为Python的基础知识都是一样的,所以Python软件的版本差别不是问题,仅有个别的知识点低版本没有而高版本有,初学者暂时不学也无所谓。


2、安装Python扩展库的通用方法

下面的两篇文章介绍了如何用pip命令安装Python扩展库,如何使用国内源来快速安装Python扩展库。
公众号文章(点击链接进入):

widnows下用pip命令安装扩展库的方法

公众号文章,有视频讲解(点击链接进入):

如何快速安装Python扩展库

上面是介绍安装扩展库的通用方法,大多数扩展库这么安装是没问题的,具体到一些特殊的扩展库,可能需要特定的软件环境,所以需要单独介绍。
3、特定的Python扩展库的安装方法


本号曾经介绍过的扩展库按名称字典数顺序排列如下(Python初学者可以忽略,以后万一需要安装再来看就行了):

安装 cnocr
公众号文章(点击链接进入)
安装cnocr扩展库的注意事项
安装 JDK
公众号文章(点击下面两个链接进入)

Windows下安装和测试JDK》     注:这篇是Win 7环境安装JDK

Windows下安装和测试JDK(Win 10版)


安装 HanLP
公众号文章(点击链接进入)

在Python中安装HanLP

安装 Stanford CoreNLP
公众号文章(点击链接进入)

Stanford CoreNLP的配置和初步使用


4、特定的Python编辑器

Python软件自带了一个IDLE编辑器,可以编辑和运行Python程序,初学者掌握它就行了,因为我们主要是学习Python的基础知识,过于关注其他编辑器可能会给我们学习Python知识带来干扰。

随着我们编程技能的提高,我们可能会感觉到IDLE这个编辑器功能不够强大,为了提高编程效率,我们就需要额外寻找编辑器。很多编辑器集程序代码编辑、运行、调试于一体,被称为IDE。好用的Python编辑器和 IDE 有很多,比如Pycharm、VS Code、Spyder、EditPlus等等。

本号也曾经介绍过一些Python编辑器和IDE的安装和使用,后续可能会继续介绍一些,目前介绍过的编辑器和IDE如下(按名称字典顺序排列):

EditPlus
公众号文章(点击链接进入)
如何用Editplus来编辑和运行Python程序
EditPlus只能算是一个Python编辑器,算不上IDE,我们在EditPlus中可以简单配置一下让它运行Python程序。它虽然不能调试Python程序,但胜在简洁,体积小,才几兆大小。

Spyder
Spyder是一个很好用的Python IDE,它有三种安装方式:

(1)下载Spyder.exe来安装(不推荐)

(2)通过安装Anaconda软件来附带安装Spyder,本号写过一篇文章介绍了这种安装方法:

公众号文章(点击链接进入)

用Anaconda安装Spyder来编辑和运行Python程序


(3)通过安装扩展库spyder来安装Spyder软件,本号写过一篇文章介绍了这种安装方法:

公众号文章(点击链接进入)

用Python扩展库来安装Spyder软件的诀窍(Win10版)

上面介绍的是一些跟具体Python知识关系不大的入门知识,入门之后,我们就可以深入学习Python的基础知识,把这些基础融会贯通,写一些解决实际问题的程序,千万别怕出错,只有在遇错和纠错中我们才提高程序设计技能。

Python的基础知识有哪些呢?运行程序出了问题到哪寻求帮助呢?接下来就给同学们介绍咱们课程使用的教材。有了教材,我们的学习或者自学就会顺利很多。


三、教材介绍


胡凤国老师从2003年开始教播音学院的本科生和研究生编程课,最开始用的编程语言是C语言,教了15年的C语言之后之后把C语言改成了Python。2018年在传媒大学第一次开Python公选课,2019年第一次给汉语言专业的学生上Python编程课。当时市面上Python教材已经有很多,但很难找到适合文科生的Python教材,胡凤国老师花了三年时间,终于写成了一本面向文科生的Python教材。

《Python程序设计(基于计算思维和新文科建设)》,ISBN:9787121435577,胡凤国,电子工业出版社,2022年6月。

胡凤国老师的Python课选课学生大多是文科生,上课教材就选用这一本。当然,不同课程,不同学历层次的授课重点是不一样的。

下面是本号此前对该书的两篇介绍,其中第一篇絮絮叨叨介绍了作者从教C语言转到教Python的原因以及写本书的心路历程,感兴趣的可以戳进去看看。
隆重推荐胡凤国老师新出的Python著作

隆重推荐胡凤国老师新出的Python著作(2)

教材长这样:

本书是电子工业出版社在国内较早采用纸质版+电子版的创新图书发行模式的第一次尝试。本书是这套创新图书的纸质版部分,与之内容互补的电子版图书将稍后出版。

本书的内容包含基础篇排错篇两部分:

基础篇介绍Python程序设计的入门知识,共12章,包括:

⑴ Python简介
⑵ Python软件的安装和Python程序运行;
⑶ Python的基本概念(对象、数据类型、表达式、内置函数);
 输入和输出;
⑸ 程序设计的三种基本结构;
⑹ 函数和类;
⑺ 序列操作(列表、元组、集合、字典);
⑻ 字符串;
⑼ 正则表达式;
⑽ 文件读写;
⑾ 目录与文件操作;
⑿ 常用标准库介绍。

排错篇总结初学者常遇到的错误并介绍程序调试方法,包含2章:

⒀ Python错误类型;
⒁ Python代码调试。 

本书详细目录附后。

与本书内容互补的电子版图书包含文本篇应用篇两部分:

文本篇:介绍字符集、编码和文本文件读写的知识,包含了对国家规范《通用规范汉字表》8105个汉字当中难以输入和难以显示的汉字的处理。

应用篇:介绍Word、Excel、PPT、PDF、图片等常用办公文件的处理,是大家提高办公和科研效率的好帮手。

本书配套有详细的PPT和教学大纲,还有全部例题的程序代码和绝大部分思考题的程序代码。

本书配套PPT里面还加入了配套电子版图书中的部分内容,比如字符集和编码,不同编码的文本文件的读写,Word、Excel、PPT、PDF等一些常用办公文件的读写。

本书的配套资源可以在电子工业出版社官网下载。

本书的读者对象:

1、大学文科生 可选本书当Python教材或自学Python的参考书。

2、大学理工科学生 可选本书当自学Python的参考书。

3、文科领域的教师、科研人员和研究生
可拿本书当工具书,本书的配套程序会为您节省效率,在当前大数据和新文科的背景下,本书可以为相关领域的量化研究提供技术支持。

4、理工科领域的教师、科研人员和研究生

本书配套的电子版图书中的编码和文本处理知识也可以作为理工科教师和科研人员处理文本数据的参考资料之一,毕竟专门开辟章节介绍国家标准《通用规范汉字表》汉字处理的程序设计图书并不多见。


5、青少年学生
本书有专门的海龟画图章节,有大量的有趣数学题目,可以培养学生的计算思维,适合对编程感兴趣的中小学生阅读,也适合打算让娃参加编程辅导班的家长朋友参考。

本书在各大实体书店和网店均有销售。京东、天猫、当当的购买渠道如下(可扫码直达购买页面)。









四、教材详细目录


教材《Python程序设计(基于计算思维和新文科建设)》目录如下(手机端可以用手指上下滑动下面灰色区域的文字来查看全部目录,电脑端可以用鼠标滚动滚轮或拖动下面文本框右边的滚动条来浏览全部目录):


第一篇 基础篇


第1章 Python介绍
1.1 什么是Python
1.1.1 有一种编程语言叫Python
1.1.2 Python的发展史
1.1.3 Python的版本选择
1.2 为什么要学习Python
1.2.1 为什么要学编程
1.2.2 学编程为什么选Python
1.3 怎样学习Python

第2章 Python的安装和运行
2.1 安装Python软件
2.1.1 软件下载
2.1.2 安装
2.1.3 测试
2.2 运行Python代码
2.2.1 交互式运行
2.2.2 脚本式运行
2.2.3 命令行运行
2.2.4 扩展式运行
2.2.5 运行Python代码的误区
2.2.6 合法的Python语句
2.3 Python代码书写规范
2.4 Python扩展库和标准库
2.4.1 扩展库的安装
2.4.2 标准库和扩展库的使用

第3章 Python的基本概念
3.1 数据和数据类型
3.1.1 数据与对象
3.1.2 数据类型
3.2 变量与关键字
3.2.1 对象的存储
3.2.2 变量
3.2.3 关键字
3.3 运算符和表达式
3.3.1 常量数据和变量数据
3.3.2 运算符
3.3.3 表达式
3.4 内置函数和内置对象
3.4.1 内置函数
3.4.2 内置对象
思考题

第4章 输入和输出
4.1 数据输入
4.1.1 获取输入数据
4.1.2 转换输入数据
4.1.3 处理输入错误
4.2 数据输出
4.2.1 *简单的数据输出
4.2.2 数据格式化
4.3 综合举例
4.3.1 十进制转二进制(一)
4.3.2 鸡兔同笼(一)
4.3.3 韩信点兵(一)
4.3.4 换酒问题(一)
4.3.5 最大公约数(一)
4.3.6 交换两个变量的值
思考题

第5章 基本程序结构
5.1 结构化程序设计
5.1.1 顺序结构
5.1.2 选择结构
5.1.3 循环结构
5.1.4 结构嵌套
5.2 顺序结构
5.2.1 顺序结构举例
5.2.2 顺序结构的拼接
5.3 选择结构
5.3.1 单分支选择结构
5.3.2 双分支选择结构
5.3.3 多分支选择结构
5.3.4 选择结构的嵌套
5.3.5 条件表达式
5.3.6 选择结构的多样性
5.4 循环结构
5.4.1 while循环
5.4.2 for 循环
5.4.3 continue语句
5.4.4 break语句
5.4.5 循环结构中的else子句
5.5 循环结构的嵌套
5.6 综合举例
5.6.1 十进制转二进制(二)
5.6.2 鸡兔同笼(二)
5.6.3 韩信点兵(二)
5.6.4 换酒问题(二)
5.6.5 *大公约数(二)
5.6.6 百钱百鸡
5.6.7 兔子数列
5.6.8 奇数幻方
5.6.9 哥德巴赫猜想(一)
5.6.10 信息加密(一)
5.6.11 求圆周率
5.6.12 海龟画图
思考题

第6章 函数和类
6.1 使用函数的好处
6.2 函数的定义和调用
6.2.1 函数的定义
6.2.2 函数的调用
6.2.3 关于函数返回值的注意事项
6.3 函数参数的传递与接收
6.3.1 函数参数的传递方式
6.3.2 函数形参接收实参的形式
6.4 函数中的局部变量和全局变量
6.5 lambda表达式
6.6 生成器函数
6.7 自定义函数库
6.8 递归函数
6.8.1 什么是递归函数
6.8.2 递归函数和算法
6.8.3 Python中的*大递归次数
6.8.4 递归函数举例
6.8.5 递归与循环的关系
6.8.6 递归函数的时间效率
6.9 类和对象
6.9.1 类和对象的概念
6.9.2 类的定义和使用示例
思考题

第7章 Python的序列操作
7.1 序列结构
7.2 列表及其操作
7.2.1 列表的标准形式
7.2.2 列表对象的创建和删除
7.2.3 列表元素的读取、修改和删除
7.2.4 列表对象常用的方法
7.2.5 用内置函数对列表进行操作
7.2.6 用运算符对列表进行运算
7.2.7 列表推导式
7.3 元组及其操作
7.3.1 元组的概念
7.3.2 元组的标准形式
7.3.3 元组对象的创建
7.3.4 元组元素的读取
7.3.5 元组对象常用的方法
7.3.6 用内置函数对元组进行操作
7.3.7 用运算符对元组进行运算
7.3.8 生成器推导式
7.4 字典及其操作
7.4.1 字典的标准形式
7.4.2 字典的创建
7.4.3 字典元素的添加和修改
7.4.4 字典元素的读取
7.4.5 字典元素的删除
7.4.6 字典对象常用的方法
7.4.7 用内置函数对字典进行操作
7.4.8 用运算符对字典进行运算
7.5 集合及其操作
7.5.1 集合的标准形式
7.5.2 集合的创建
7.5.3 集合元素的添加
7.5.4 集合元素的删除
7.5.5 集合元素的读取
7.5.6 集合对象常用的方法
7.5.7 用内置函数对集合进行操作
7.5.8 用运算符对集合进行运算
7.6 切片
7.6.1 切片的格式
7.6.2 用切片对列表的元素进行增删改
7.7 NumPy和Pandas扩展库的简单操作
7.7.1 NumPy扩展库
7.7.2 Pandas扩展库
7.8 序列类对象的通用操作总结
7.9 综合举例
7.9.1 判断列表中有无重复元素
7.9.2 百分制转五分制
7.9.3 中文星期名称转英文星期名称
7.9.4 判断某年某月有几天
7.9.5 求两个可迭代对象的笛卡尔积
7.9.6 查找列表中*小元素的所有位置
7.9.7 查找N以内的所有素数
7.9.8 年份生肖(一)
7.9.9 农村小孩的乳名(一)
7.9.10 天干地支顺序配对(一)
7.9.11 判断黑洞数(一)
7.9.12 哥德巴赫猜想(二)
7.9.13 信息加密(二)
思考题

第8章 字符串
8.1 字符串的表示
8.1.1 字符串界定符
8.1.2 转义字符
8.1.3 原始字符串
8.1.4 字符串和字符的区分
8.1.5 字符串的标准形式
8.1.6 长字符串的表示方法
8.1.7 三引号注释
8.2 字符串的操作
8.2.1 Python关于对象的通用操作
8.2.2 关于序列类对象的通用操作
8.2.3 关于有序序列类对象的通用操作
8.2.4 关于元素可比较的有序序列类对象的通用操作
8.2.5 针对字符串对象的其他操作
8.3 字符串方法
8.3.1 格式化类的方法
8.3.2 排版类的方法
8.3.3 类型判断类的方法
8.3.4 查找类的方法
8.3.5 统计类的方法
8.3.6 首尾匹配类的方法
8.3.7 分割类的方法
8.3.8 合并类的方法
8.3.9 大小写转换类的方法
8.3.10 削边类的方法
8.3.11 替换类的方法
8.3.12 编码解码类方法
8.4 字词统计和中文分词
8.4.1 字符统计
8.4.2 词语统计
8.4.3 中文自动分词和词性标注
8.5 综合举例
8.5.1 屏蔽敏感词
8.5.2 年份生肖(二)
8.5.3 农村小孩的乳名(二)
8.5.4 天干地支顺序配对(二)
8.5.5 判断黑洞数(二)
8.5.6 哥德巴赫猜想(三)
8.5.7 信息加密(三)
8.5.8 公民身份号码
8.5.9 十进制转任意进制
思考题

第9章 正则表达式
9.1 什么是正则表达式
9.2 正则表达式的语法
9.2.1 万能符
9.2.2 转义符
9.2.3 元字符
9.2.4 选字符
9.2.5 连字符
9.2.6 脱字符
9.2.7 简写符
9.2.8 选串符
9.2.9 定位符
9.2.10 分组符
9.2.11 数量符
9.2.12 非贪婪匹配标识符
9.2.13 子表达式
9.2.14 预查
9.2.15 命名子表达式
9.3 在Python中使用正则表达式
9.3.1 re.findall函数
9.3.2 re.match函数
9.3.3 re.search函数
9.3.4 re.split函数
9.3.5 re.sub和re.subn函数
9.3.6 re.escape函数
9.3.7 re.compile函数
9.4 综合举例
思考题

第10章 文件读写
10.1 文件简介
10.2 内置函数open
10.2.1 open函数的参数介绍
10.2.2 open函数的mode参数详解
10.2.3 文件对象的方法
10.3 文本文件的读写
10.3.1 从文本文件读取数据
10.3.2 将数据写入文本文件
10.3.3 用上下文管理语句with来管理文本文件读写
10.4 JSON文件的读写
10.5 CSV文件的读写
10.6 二进制文件的读写
思考题

第11章 目录与文件操作
11.1 文件和目录
11.1.1 驱动器
11.1.2 目录、文件夹、路径
11.1.3 目录名和文件名的命名规范
11.1.4 当前目录
11.1.5 环境变量
11.1.6 绝对路径和相对路径
11.1.7 可执行程序和应用程序
11.1.8 默认应用程序
11.2 文件目录操作的有关标准库介绍
11.2.1 os.path标准库介绍
11.2.2 os标准库介绍
11.2.3 shutil标准库的常用函数介绍
11.3 文件目录操作需要考虑的因素
11.4 文件目录操作
11.4.1 无读取写入文件
11.4.2 读取文件无写入
11.4.3 无读取写入目录
11.4.4 读取目录无写入
11.4.5 读取文件写入文件
11.4.6 读取文件写入目录
11.4.7 读取目录写入文件
11.4.8 读取目录写入目录
思考题

第12章 常用的Python标准库
12.1 collections标准库
12.2 copy标准库
12.3 decimal标准库
12.4 fractions标准库
12.5 functools标准库
12.6 itertools标准库
12.6.1 combinations对象
12.6.2 permutations对象
12.6.3 product对象
12.7 math标准库
12.8 random标准库
12.8.1 choice函数
12.8.2 randint函数
12.8.3 random函数
12.8.4 randrange函数
12.8.5 sample函数
12.8.6 shuffle函数
12.8.7 uniform函数
12.8.8 应用示例
12.9 sys标准库
12.9.1 获取Python解释器的位置
12.9.2 添加扩展库搜索目录
12.9.3 终止运行Python程序
12.9.4 获取命令行参数
12.10 tempfile标准库
12.10.1 功能介绍
12.10.2 应用示例
12.11 time标准库
12.11.1 有关概念
12.11.2 函数介绍
12.11.3 应用示例
12.12 datetime标准库
12.12.1 datetime标准库定义的常用类
12.12.2 应用示例
思考题

第二篇 排错篇

第13章 常见错误类型
13.1 编码错误
13.2 缩进错误
13.2.1 不当缩进错误
13.2.2 混用制表符和空格
13.3 语法错误
13.3.1 混淆大小写
13.3.2 混淆全半角
13.3.3 写错关键词
13.3.4 括号不配对
13.3.5 用三引号注释代码块引起语法错误
13.3.6 其他语法错误
13.4 运行错误
13.4.1 数学运算错误
13.4.2 数据类型错误
13.4.3 下标越界错误
13.4.4 文本文件编码错误
13.4.5 扩展库出错
13.4.6 计算机配置环境出错
13.5 逻辑错误
13.5.1 循环终值设定有问题
13.5.2 不同用途的变量同名
13.5.3 不该变的变量值被改变
13.5.4 语句缩进层次不清
13.5.5 混淆运算符的优先级
13.5.6 列表赋值错误
13.5.7 调用对象的方法不加括号
13.5.8 算法错误

第14章 代码调试
14.1 输出对比法
14.2 IDLE调试法
14.3 装饰器方法

附录
附录A 环境变量设置
附录B 常用Python语句
附录C 常用Python运算符
附录D 内置函数format
附录E %格式化方法
附录F 不能显示的四字节汉字
附录G PyPDF2的BUG及解决方案

参考文献



五 、公众号推荐

学习Python的好公众号有很多,这里难免挂一漏万。不过,这是入门准备嘛,了解就好,入门之后或许你自己能发现更好的。

1、语和言

微信公众号“语和言”将不定期发布对图书《Python程序设计(基于计算思维和新文科建设)》中的Python知识点进行解读和补充的内容,也会发布一些初学者学习Python的内容,也会探讨程序设计技巧和算法。欢迎关注该公众号,也欢迎大家把自己学习某个Python知识点的心得发表在这里。


该公众号的重点在于基础知识、编程技巧、算法、文本处理和NLP入门知识,对于其他领域关注不太多。


2、Python小屋

微信公众号“Python小屋”由Python领域的资深大咖董付国老师亲自运营,很多人从中受益。董老师造诣深厚,涉猎广泛,分享的Python知识涵盖各个领域。欢迎关注。

从董付国老师的公众号可以下载到刷题神器,能快速提高大家的Python编程技能。对耍大蛇感兴趣的同学一定不要错过。


四、其它学习资源推荐


每个老师重点关注的Python知识点可能不太一样,除了自己学习的课程的指定教材之外,多看一些其他老师的慕课、著作等学习资源还是有好处的。

好资源很多,难免挂一漏万。不过,这是入门准备嘛,了解就好,入门之后或许你自己能发现更好的。

1、董付国《Python程序设计基础》,中国大学慕课网
https://www.icourse163.org/course/CCEC-1449771164
这是讲Python基础的,董老师讲得深入浅出,可以跟自己学的Python课程进行互补,目前本课程已经开设了7轮。

2、赵广辉《Python程序设计(公开课)》,头歌实践教学平台
https://www.educoder.net/classrooms/6agc754r?code=SU37D
赵广辉老师是国家级一流线下课程《Python程序设计基础》的负责人,专注于Python教学和Python资源建设很多年,赵老师这个课程学习资源非常丰富,可以跟自己学的Python课程进行互补,本课程2022年9月在头歌开始开课,感兴趣的同学可以前去学习

3、陈斌《数据结构与算法Python版》,中国大学慕课网
https://www.icourse163.org/course/PKU-1206307812
学完Python基础知识且具备了一定编程技能的同学,如果想提高编程技能,就需要在数据结构和算法方面下点功夫,陈老师这个慕课恰好用Python语言来讲,目前本课程已经开设了6轮,感兴趣的同学可以前去学习。

4、嵩天《Python网络爬虫与信息提取》,中国大学慕课网
https://www.icourse163.org/course/BIT-1001870001
学完Python基础知识且具备了一定编程技能的同学,如果想提高从网上收集资料的效率,就需要在爬虫方面下点功夫,嵩老师这个慕课介绍用Python语言来写爬虫,目前本课程已经开设了15轮,感兴趣的同学可以前去学习

文章转载自语和言,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论