educoder平台课-Python程序设计-1.导学和基础-知识梳理

课程链接:头歌实践教学平台

自用学习整理,无商业用途!侵权即删TAT

来源:头歌实践教学平台


1.1 课程导学

主要内容

数值类型、字符串、Range、列表、元组、集合和字典等常用数据类型和数据结构。
流程控制、异常处理、函数和模块化编程等程序设计方法。
利用Python程序、numpy和pandas等模块读写txt、csv、json、Excel等多种类型文件的方法,利用pandas模块读写数据库中数据的方法。
利用pandas进行数据分析和利用matplotlib进行数据可视化等内容。

1.1 四则运算(project),环境3.11,4关约45行代码
1.2 欢迎入学(project),环境3.11,1关约10行代码
1.3 日期格式化输出(project),环境3.11,4关约20行代码
1.4 输入训练,环境3.11,7关约20行代码
1.5 输出训练,环境3.11,7关约35行代码

2.1 矩形面积运算(project),环境3.11,6关约25行代码
2.2 地球数据计算闯关(project),环境3.11,5关约40行代码
2.3 计算弓形的面积(project),环境3.11,2关约25行代码
2.4 计算几何形状的表面积与体积(project),环境3.11,7关约85行代码
2.5 学费计算(project),环境3.11,2关约25行代码
2.6 弧田术(project测试),环境3.11,6关约60行代码

3.1 中国古代数学问题(project),环境3.11,5关约50行代码
3.2 个人所得税计算器(project),环境3.11,1关约30行代码
3.3 计算圆周率(project),环境3.11,5关约75行代码
3.4 存款买房(project),环境3.11,3关约60行代码
3.5 鸡兔同笼(project),环境3.11,3关约25行代码
3.6 判断三角形并计算面积(project),环境3.11,5关约90行代码

4.1 来自计算机的问候(project),环境3.11,5关约55行代码
4.2 自定义数学函数(project),环境3.11,8关约90行代码
4.3 素数及应用(project),环境3.11,5关约120行代码
4.4 个人所得税年度汇算(project),环境3.11,7关约400行代码(差一关)
4.5 RSA 加密算法(project),环境3.11,7关约100行代码 (未完成)

5.1 统计英文文件中的单词数(project),环境3.11,1关约10行代码
5.2 凯撒密码(project),环境3.11,2关约50行代码
5.3 使用凯撒密码加密和解密英文文件(project),环境3.11,1关约70行代码
5.4 文本分析与加密(project),环境3.11,4关约100行代码
5.5 日期分析处理(project),环境3.11,5关约110行代码
5.6 单词猎手游戏(project),环境3.11,3关约180行代码
5.7 维吉尼亚密码(project),环境3.11,2关约80行代码
5.8 计算WIFI密码(project),环境3.11,5关约20行代码
5.9 自选车牌号小程序(project),环境3.11,4关约160行代码

6.1 葡萄酒评论分析报告(project),环境3.11,3关约230行代码
6.2 扑克牌游戏(project),环境3.11,4关约150行代码
6.3 分配学号(project),环境3.11,1关约60行代码
6.4 共享单车(project),环境3.11,9关约550行代码
6.5 幻方(project),环境3.11,4关约140行代码
6.6 完数(project),环境3.11,4关约160行代码

7.1 大学排行榜分析(project),环境3.11,1关约90行代码
7.2 摩斯密码(project),环境3.11,3关约70行代码
7.3 股票分析(project),环境3.11,3关约300行代码
7.4 简易英汉字典(project),环境3.11,3关约95行代码
7.5 客服电话薄(project),环境3.11,4关约120行代码
7.6 密码设置与安全性分析(project),环境3.11,5关约180行代码

8.1 模拟生成身份信息及查验身份(project),环境3.11,4关约800行代码
8.2 英文词频统计(project),环境3.11,4关约160行代码
8.3 政府工作报告数据提取(project),环境3.11,5关约230行代码
8.4 月度交通数据统计(project),环境3.11,5关约120行代码
8.5 中文词频统计(project),环境3.11,5关约170行代码

9.1 X射线衍射曲线绘制(project),环境3.11,4关约190行代码
9.2 能带曲线绘制(project),环境3.11,3关约125行代码
9.3 中英文词云绘制(project),环境3.11,3关约90行代码
9.4 TIOBE 编程指数可视化(project),环境3.11,4关约140行代码
9.5 金融数据可视化(project),环境3.11,8关约130行代码

教学日历

课节序号 授课内容
1 Python 开发环境配置,数据与数据类型
2 人机交互,对象与变量,编码规范
3 数值类型,数值类型转换,数值运算
4 常用数学运算函数,math 库及其应用
5 常用运算
6 循环结构
7 分支结构,条件表达式
8 流程控制语句,异常处理
9 函数的定义、调用与返回值,参数传递
10 变量作用域,匿名函数,递归,内置函数,模块化程序设计
11 序列通用操作
12 字符串及其操作
13 random 库及其应用
14 字符串案例教学
15 流程控制与函数案例教学
16 流程控制与函数案例教学
17 元组
18 列表的创建、更新、删除和排序
19 生成器与内置函数
20 列表综合应用
21 集合的创建、操作和集合的关系
22 集合运算
23 映射类型
24 集合与字典的应用
25 文件的打开与关闭
26 文件的读写操作
27 文件的应用
28 numpy 与pandas文件操作
29 Matplotlib 绘图基础
30 Matplotlib 线性图
31 Matplotlib 非线性图
32 词云绘制

基础/资源

Python程序设计精讲

python环境配置

官方文档

专业英语

常用下载(包括pycharm、VScode、主流数据库等)

常见出错信息和解决办法

github copilot使用指南

AI辅助编程常用工具

内置函数速查字典

简单语句

开发环境配置(新手指引)


1.2 Python语言简介

1.1 程序设计语言现状

计算机从诞生发展到现在,全世界有超过 2500 种有文档资料的计算机语言,但真正活跃的语言不到 100 种,而最活跃的Python、C/C++、Java、C# 和 JavaScript 等 20 种语言大约占据 80% 的市场。

1.2 Python发展历史

Python 程序设计语言的作者 Guido van Rossum 是荷兰人。1982年,Guido 从阿姆斯特丹大学获得了数学和计算机硕士学位。当时他接触并使用如 Pascal、C和Fortran 等语言,这些语言的基本设计原则是让计算机能更高效的运行,程序员要尽可能像计算机一样思考,以便能写出更符合计算机特点的程序,这使编程需要耗费大量的时间。

1989年,Guido开始写Python语言的解释器,他希望Python 语言成为一种介于 C 语言和 Shell 之间,功能全面、易学易用、可拓展的语言。

Python 来自 Guido 所挚爱的电视剧 Monty Python's Flying Circus。1991年,公开发行了第一个 Python版本,Python语言从诞生便具有类(class)、函数(function)、异常处理(exception)、包括列表(list)和词典(dictionary)在内的核心数据类型,以及模块(module)为基础的拓展系统。

Python 语言将许多机器层面上的细节隐藏,交给编译器处理,程序员可以花更多的时间用于思考程序的逻辑,而不是具体的实现细节,这一优异的特性吸引了广大的程序员。

2000 年 10 月,Python 2.0 正式发布,开启了 Python 语言广泛应用的新时代,这个版本最终版本号是 2.7.18,目前已经停止更新。早期Linux 各发行版和 Mac OS 都内置了 Python 2,目前较新的发行版正在将内置Python替换为Python 3。

2008 年 12 月,Python 3.0 正式发布,相对于Python 2.0 做了较大的升级且没有考虑向下兼容,目前被广泛使用的基本上都是Python 3。本书完稿时,Python 3 最新的版本号是3.10.7,所以本书将以Python 3.10.0为基础进行讲解,书中的示例和讲解内容都是基于这个版本进行的,绝大多数示例都可以在python3.6以上的版本中调试通过。

1.3 Python应用

Python是通用程序设计语言,是目前最受欢迎的程序设计语言,在多个主流程序设计语言排行榜中雄居榜首,5 次获得Tiobe年度语言。Python语言被广泛应用于验证算法、快速开发、测试运维、Web开发、游戏开发、网络爬虫、数据分析、可视化和人工智能等领域。

在AI产业领域,95%甚至更多的AI从业人员都是来自各行各业,他们掌握各自领域知识和数据资源,其主要工作是分析和处理数据。对于这些人员来说,Python 拥有非常良好的计算生态,拥有丰富的数字算法和强悍的数据处理方法,拥有易学易用、高效开发的特点,加之基于Python的PyTorch和TensorFlow等深度学习框架的广泛应用,使Python成为人工智能大数据领域事实上的标准程序设计语言。

1.3 基本数据类型

1.3.1 数据与数据类型

数据: 对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。

数据可以是连续的值,比如:声音、图像;

数据也可以是离散的,如符号、文字等都是数据。

a,b,c,d; +,-,*,/,武汉,wuhan

在计算机中,所有数据最终都以二进制(0,1)的形式存储和表示。

Python解释器内置的12种标准类型,包括:

  1. 逻辑值检测 (Truth Value Testing) :True、False
  2. 布尔运算 (Boolean Operations):and、or、not
  3. 比较(Comparisons) :<、<=、>、>=、==、!=、is、is not
  4. 数值类型 (Numeric Types):整数(int)、浮点数(float)、复数(complex)
  5. 迭代器类型 (Iterator Types) :迭代器对象、生成器(generator)
  6. 序列类型 (Sequence Types):列表(list)、元组(tuple)、range
  7. 文本序列类型(Text Sequence Type):字符串(str)
  8. 二进制序列类型 (Binary Sequence Types):字节对象(bytes)、字节数组(bytearray)、内存视图(memoryview)
  9. 集合类型 (Set Types):集合(set)、不可变集合(frozenset)
  10. 映射类型 (Mapping Types):字典(dict)
  11. 上下文管理器类型 (Context Manager Types):with
  12. 其他内置类型 (Other Built-in Types):模块、类和类的实例、函数、方法、空对象、类型对象、代码对象和布尔值等。

Python中,数据类型分为可变数据类型和不可变数据类型。

(1)不可变数据类型主要有四种:

numeric(数字:int, float, complex)、string(字符串str)、tuple(元组)和range; Python中的不可变数据类型,不允许变量的值发生变化,如果改变了变量的值,就相当于新建了一个对象,其id值或者说其引用的内存地址就会发生变化。

(2)可变数据类型主要有三种:

list(列表)、dictionary(字典dict)、set(集合)应用最广泛的数据类型: 数值类型(整型、浮点型、复数); 文本序列(字符串); 序列类型(列表、元组和range); 映射类型(字典) 集合类型等常用数据类型如表所示:

类型 示例 说明
整型 1024、79 整数大小无限制(受内存大小限制)
浮点型 123.45、12. 、23.0、0.78 取值范围: 2.2250738585072014×10^-308到1.7976931348623157×10^308
复数 a+bj a, b均为浮点类型
字符串 '1024' 、"test"、'''10test''' 使用成对的单引号、双引号或三引号界定。
Range range(1,10,2) range(start, stop[, step])返回的从start到stop,步长为step的整数序列,常用于控制循环。
元组 (1,2,3,4)、(1,2, 'a', 'b')、(1,) 用一对圆括号界定,元素间逗号分隔,元素可为任意数据类型。
列表 [1,2,3,4]、[1,2,'a',"b"] 用一对方括号界定,元素间逗号分隔,元素可为数字、字符串、列表、元组等任意数据类型。
集合 {1,2,3,4}、{'you','me','he'} 用一对大括号界定,元素无顺序,集合中元素具有唯一性,元素间逗号分隔。
字典 {'age':40, 'name':'zhao'} 用一对大括号界定,元素间用逗号分隔,每个元素包括包含“键”和“值”两部分。

1.3.2 数值取值范围

整数不限制大小(受限于内存容量)

print(810 ** 106)    # 可输出正确结果
# 199256272249431221328603033054645678897075327295912250213439044806853800883809353096726339601918790294815253340993739842744300688098446575123760666990589913606790210408661322708851458639282263892938644810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

浮点数最大值为1.7976931348623157e+308,超出范围会触发溢出异常
sys.float_info中提供了有关运行程序的机器的浮点数精度和内部表示形式的信息。

import sys
# 下面语句可获得浮点数精度和内部表示形式的信息
print(sys.float_info)
print(810.0 ** 106)  # OverflowError: (34, 'Result too large')

1.3.3 可变与不可变数据类型

数值类型、字符串、range元组 是不可变数据类型。
不可变数据类型在使用过程中不会改变,一旦改变就意味着创建了新对象。

a = 1024           # 旧对象
print(id(a))       # 旧对象地址 139904614127376
a = 2048           # 创建新对象,应用旧名字a
print(id(a))       # 新对象地址 139904614127504
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值