2023暑期python突击学习班专题
- 感谢大家花时间突击学习python,希望大家通过假期能够掌握这一快速编程语言,伴随你的科研实用工具。 — 俞熹 2021/07/20 09:22
- 课程的链接在:从零开始学习python2020
- 这个页面提供一些跟随课程的,同步更新的,布置任务和作业内容 以及 解答大家常见问题的交流平台。
- 作业上传页面 作业完成后把 ipynb 文件打包后上传。
常见的问题
- 有同学问:内容太多,我记不住这么多函数怎么办? 学过就忘怎么办?
- whyx答(这是学习的核心目的):
- 我也记不住那么多内容,但是学过一遍以后,直接打开jupyter 就直接可以找到相关章节的内容,以后编程有“参考”的例子。 所以不管你用哪个编程环境,至少有印象,可以找到相关内容。
- 学习过程也是解决问题的过程,要学会通过百度/谷歌等搜索工具,找到相关的函数、类似错误信息,去解决问题。这部分才是学习重点。
- 捋一遍python的内容,至少心中有框架,大致知道什么问题怎么去处理,对于未来的问题,可以有个解决问题的大方向。
- 有同学问:为啥用Jupyter,我要用vscode/pyCharm/原生python Conda…
- whyx答:
- Jupyter作为一个教学环境,可以快速调试,同时可以添加大量的文字和图片说明较为方便。其实我给你用源程序环境,我也更方便啊, 但是可能各个环境兼容性差,我要跑断腿,哈哈。
- 各大免费资源平台,目前提供的平台都是类似Jupyter的,免费供大家使用,所以以后大家也会遇到类似的环境。
- Python环境很杂,且有不同操作系统下的区别。 你先用Jupyter快速学习,兼容性好,直接打开就可以找到相关章节的内容,以后编程有“参考”的例子。你自己可以在学习的同时,尝试其他的编程环境,找到未来的自己最舒服的环境,这其实是我提倡的。
课程资源
- https://www.numpy.org.cn/ numpy 中文官网
- http://pandas.pydata.org/pandas-docs/stable/10min.html 10m To pandas
- http://matplotlib.org/api/pyplot_summary.html matplotlib 的帮助
- 这里有一些python 推荐的书籍 http://wiki.woodpecker.org.cn/moin/PyBooks
任务5
- 完成学习:课程 第4卷 Pandas 基础
任务4
- 完成学习:课程 第5卷 Matplotlib 基础
第五卷 数据作图 Matplotlib 基础
- 我们在这一章主要学习使用 Matplotlib 作图.
- Matplotlib 是什么?
- Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。
- 它类似于matlab指令, 所以叫做 mat plot lib,熟悉matlab的上手更加容易
- Matplotlib 能干啥?
- 绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、、甚至是图形动画等等。
- 课件在这里⇒matplotlib-adv.rar 请大家下载 解压后放到文档目录中 通过Jupyter Lab 运行 新增绘制 3D 图的一章 — 俞熹 2021/02/04 20:09
任务3
- 完成学习:课程 第3卷 numpy 基础
- 进阶课程
- 本次还给每个阶段学有余力的同学,写了一个进阶课程。助你从小白变大神!
- 课件在这里=⇒进阶2_numpy基础.rar 请大家下载 解压后放到文档目录中 通过Jupyter Lab 运行
第三卷 Numpy 基础
NumPy 是什么?
- NumPy是使用Python进行科学计算的基础软件包。除其他外,它包括:
- 功能强大的N维数组对象。
- 精密广播功能函数。
- 集成 C/C+和Fortran 代码的工具。
- 强大的线性代数、傅立叶变换和随机数功能。
- 利器之一:Ndarray
- NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。ndarray 对象是用于存放同类型元素的多维数组。ndarray 中的每个元素在内存中都有相同存储大小的区域。
- 利器之二:切片和索引
- ndarray对象的内容可以通过索引或切片来访问和修改,与 Python 中 list 的切片操作一样。ndarray 数组可以基于 0 - n 的下标进行索引,切片对象可以通过内置的 slice 函数,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组。
任务2
- 完成学习:课程 第二卷 Python 基础
- 完成课后的作业
- 作业的参考答案:day2_answers.rar
- 进阶课程
- 本次还给每个阶段学有余力的同学,写了一个进阶课程。助你从小白变大神! — 俞熹 2021/07/22 10:28
- 课件在这里=⇒进阶1_python基础.rar 请大家下载 解压后放到文档目录中 通过Jupyter Lab 运行
作业2.1 创建100个随机数
- 创建100个随机数,随机数值为 1-1000的整数。存于list1
- 将list1中的数平方后存于 list2
- 求list2中 最大值,最小值。
- 将list2求和
- 将list2排序
作业2.2 扑克牌
- 创建一副扑克牌(包含52张)存于 cards (你可以使用 ♣ ♦ ♥ ♠ 符号, 也可以加上鬼牌:☿)
- 创建洗牌函数:deal_cards()
- 洗牌后依次发给4个player[0:3]
- 将4个player牌按照习惯整理好后展示
- (什么是按照习惯?) 你可以按照大小和花色整理。也可以再详细到都分类
作业2.3 数学题
- pi^e 大还是 e^pi 大?
- 找到一个6位的水仙花数:水仙花数是指一个 n 位数,它的每个位上的数字的 n次幂之和等于它本身(例如:n=3, 1^3 + 5^3+ 3^3 = 153)。
- 上面程序还是可以拓展到n次幂,和更高位数,考虑如何优化程序可以加快运算速度?
任务1 搭建python环境,JupyterLab
- 大家先把python环境搭起来, 完成到搭建后续所要用到的Jupyter Lab平台。 有困难可以群里面提问。
- 还有个免费的办法:国内有多个实验室提供免费的Jupyter Lab环境。 推荐 天池 具体使用教程:https://blog.csdn.net/hanx09/article/details/107705720
- 其他的一些Jupyter Lab 资源 小白如何用免费JupyterLab资源
- 上面可以参考 课程: 第一卷 基础环境搭建