Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

北邮《Python编程与实践》课程资料

NotificationsYou must be signed in to change notification settings

tuxnotes/Practical_Python_Programming

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  • 课程名称:Python编程与实践
  • 教师:陈光 (@爱可可-爱生活)
  • 时间:周五上午 8:00-9:35

本课程旨在通过编程学习Python,在解决问题的过程中了解Python编程的基础知识。一起编程,一起爱上Python。

推荐参考书:
《Think Python 2nd Edition》 by Allen B. Downey  中文版:免费在线浏览

课程视频(Bilibili): 北邮陈光《Python编程与实践》(2020)

日期内容视频
2020.2.28第1讲:轻松起航,一起爱Python
摘要:为什么要学编程?为什么是Python?有啥缺点吗?有什么“用武之地”?为什么是我?参考什么书?该怎么学?实践体验入门   PPT下载
第一课题图
L1
-零基础安装配置Anaconda开发环境
摘要:Anaconda及相关概念介绍;Python 2.x和3.x的故事及如何选择;Anaconda国内镜像的使用;Anaconda基本组件的介绍和实战;Python的交互式、批量式运行方式介绍;Jupyter Notebooks使用初步;conda使用初步
L1.1
2020.3.6第2讲:初次尝试
摘要:如何做到“聪明地努力学习”?Python最常用的知识是什么?实战入门第一站。
第二课思维导图
L2
-第2讲答疑(问题列表
摘要: 缩进相同但不挨着的代码什么关系、代码缩进用空格还是Tab、字符串里的%%什么意思、Python和之前学习的其他语言混淆怎么办、pass是什么、如何命名可改善可读性、Python代码块区分是否只能用缩进、新手应该多学几种语言还是专攻一种、如何判断代码出错位置、Python中的变量内涵是什么、a+a内部是怎么处理的、Python里是不是只能用半角、命令行运行和notebook运行有何区别、怎么写.py文件、Python适用的应用场景、in的使用、去哪里找练习题、print输出格式的控制、一行代码里两个print为什么会自动换行、如何锻炼分析问题的抽象思维、如何整体运行代码、random库的其他用法、Python代码安全性问题、Jupyter Notebook核连不上的问题、Python中[]和()的区别、随机数是否可用时间生成、如何更改cell的执行顺序、显示[*]不运行是咋回事、有什么知名Python项目、学习应以自学为主还是以课程内容为主、Python和C++的最大区别、关键字和关键语句的掌握
L2.1
-聊聊Python的“四大皆空”
摘要:把Python语言里四个“看不见”和“没用”的东西拢成一堆儿聊一聊,希望能帮你解开一些日常的小迷惑
四大皆空脑图
L2.2
2020.3.13第3讲:挑战猜数字和猜字母小游戏。
摘要:带大家编程实现猜数字和猜字母小游戏,通过实战熟悉Python基本知识,还有两个“蠢”bug
第三课思维导图
L3
-第3讲答疑(问题列表
摘要: Jupyter Notebook里cell的运行方式、字符串里的转义用法、Tab的用法、除random还有哪些常用的库/包、如何记住Python的语句、in的用法、关于ASCII表、Notebook里IN[*]的含义、 if语句能否写成一行、Python包应该怎么学、用函数控制函数的实现、整段代码缩进的操作、文字的随机选择、如何入门网络编程、import和C语言里include的关系、Python编程的随意性会有什么隐患、hash函数可以用在哪、range函数的三参数用法、ipythhon如何进行断点调试、Python是否有类似指针的用法
L3.1
-手把手:配置Sublime Text3编程环境
摘要:面向新手的零基础Win10轻量IDE编程环境配置指南
L3.2
-聊聊hash函数与id函数
摘要:深入了解hash和id两个“小众”函数,探索Python的内存分配和垃圾回收机制、字典和集合背后的秘密、可变元素与不可变元素的概念,用代码的方式知其所以然
L3.3
2020.3.20第4讲:玩转简单加密
摘要:一起践行先实现、再完善的开发过程,通过简单文字加密的代码实现,看函数如何应需而生、命名空间的概念、简单的%pdb代码调试技巧、Python代码重构思路、函数说明文档书写规范,体会对“好代码”的感觉。
代码:Jupyter Notebook
第四课思维导图
L4.1
-第4讲答疑(问题列表
摘要:变量批量改名小技巧、Python负数取余的实现机制、如何实现类似switch的分支条件、global使用释疑、IPython Notebooks撤销操作小技巧、字符串如何修改、用Python Tutor网站可视化运行分析代码的小技巧、函数传参与global的关系、函数参数注解的作用、(True)与True、代码该简化思路、.py文件间是否可引用变量和函数、Python解释器检查函数、变量是否已定义的时机、Sublime Text如何用input、函数形参的作用、函数是否必须返回值、函数是否可以自己调用自己、Python函数能否重载
L4.2
2020.3.27第5讲:分久必合·合久必分
摘要:现在就开始你的简单项目,在不断探索、思考、出错的过程中学习编程!复盘之前实现的加密/解密代码,反思函数和变量的命名、函数默认参数是使用场景,分析注释(包括文档字符串)面向的读者、写注释的出发点和思考角度。对加密/解密函数进行“极限”压缩,其间介绍自增等操作符、列表、列表推导、字符串的split/join操作、代码续行技巧;通过对比几种实现探讨长代码、短代码的利弊,如何打磨代码、兼顾精炼的同时提高可读性,如何用函数嵌套实现“局部重用”,探索函数结构设计之道。
代码:Jupyter Notebook
第五课思维导图
L5.1
-第5讲答疑(问题列表
摘要:lambda内联函数的使用、有问题如何搜索、嵌套列表的使用、字符串操作的常用函数、列表和数组的关系、代码重用是否关乎性能、如何区分可变类型和非可变类型、空字符串能否显示、成员函数的调用为什么要加点、《Think Python 2e》和讲授内容如何组合学习、注释的度应该怎么把握、代码精简到什么程度合适、Python里有没有多维列表、续行时断开位置有什么特殊要求、如何测量程序运行时间、为什么全局变量不推荐使用、列表和元组的区别等
L5.2
2020.4.3第6讲:可交付的随机加密
摘要:梳理 表-表、表+位置偏移、ASCII偏移置换 三种简单加密单字符转换的实现,思考使用随机码本的加密/解密和交付方式。本节我们会一起探索:函数化如何将全局变量局部化、Python中的常量、用random.shuffle()函数打乱排序、通过list.copy()函数实现浅拷贝避免数据被意外篡改、随机乱排的时机选择问题、用pickle实现序列化/反序列化、用open()函数已制定模式打开文件、文件的二进制读写模式('b')、用write()和read()实现文件内容的读写、用with实现区间内对文件的访问和出区间文件自动关闭、notebook里用!运行命令行指令、字典的初步知识。
代码:Jupyter Notebook
第六课思维导图
L6.1
-第6讲答疑(问题列表
摘要:赋值浅拷贝与沉拷贝、Notebook里的魔术指令、文件系统绝对路径与相对路径、容器的类型和应用场景、Python课如何复习是否应该重看视频、if __name__ == '__main__'的用法和意义、除shuffle以外的列表打乱方法、函数任意参数/不定长参数的设定、常量的使用、pickle的dump/load释疑、Python源码如何保护/防止逆向、列表与C++数组的差别、微博上竞猜题目的解析、字典如何排序、字典如何打乱顺序、with的用法、字典键值如何互换、Python是面向对象还是面向过程、字典如何通过容器实现一对多和多对一映射、Windows下more的使用等
L6.2
2020.4.10第7讲:类化之路
摘要:字典的特性、字典键/值的取值限制、字典常用函数、字典in的遍历、字典的两种常用遍历方法、类的抽象、类的三方面作用:封装细节、重用函数和变量间的联系、提高可读性,什么时候应该用类、类的初始化、类变量与实例变量、类方法定义里self的用法、为什么不建议用可变类型作类变量、类的实例化、莫尔斯电码问题的提出、用Excel+字符串split()函数实现数据规整。
代码:Jupyter Notebook
第七课思维导图
L7.1
-第7讲答疑(问题列表
摘要:类变量与实例变量详解、字典到底有序还是无序、数据缺失如何处理、函数内定义的变量能否在全局使用、元组与集合的区别、Python是否有模板类、可变对象为什么不能hash()、Python的多变量赋值用法、Python能否读写Excel、类方法self参数的用法、三引号的用法、C++与Python的搭配使用、is和==的区别等
L7.2
2020.4.17第8讲:CSV与正则表达式
摘要:Excel与Python代码通过CSV文件进行数据交换、Python读取csv文件、正则表达式基础、利用文本编辑器正则表达式搜索/替换实现数据规整、Python的re正则库、用re.findall()实现代码里的正则匹配、利用工具与纯代码实现的权衡。
代码:Jupyter Notebook
第八课思维导图
L8.1
-第8讲答疑(问题列表
摘要:CSV和正则还有什么用、正则表达式是否会出现歧义、CSV文件出现乱码怎么办、正则表达式取子串的方法、正则表达式非贪婪符号的使用、如何创建CSV文件、正则表达式是否能匹配中文、re库除了findall还有什么有用的函数、"UTF-8-sig"和"UTF-8"两种编码方式的差别
L8.2
2020.4.24第9讲:类的继承与递归的实现
摘要:字典get()函数的用法、字符串的upper()/lower()大小写转换函数、用''.join()实现字符串拼接、列表推导的实际应用、长距离一致缩进要多加小心、问题升级——平滑莫尔斯编码的引入、字符串replace()替换函数的使用、类的继承、类成员函数的重载、从手工解码过程中提炼思路、递归的主要思路、可用递归解决问题的特点、max()/min()函数的使用、递归函数重复处理过程和截止条件的确定。
代码:Jupyter Notebook
第九课思维导图
L9.1
-PytonTutor的使用及本地化运行指南
摘要:PythonTutor主要功能、PythonTutor使用详解、自己搭建本地PythonTutor服务
L9.2
-明明白白学递归
摘要:什么是递归?什么问题可以用递归?如何设计并实现递归?带你学个通通透透!
L9.3
-第9讲答疑(问题列表
摘要:递归函数入口和被递归调用函数间是否要做区分、递归的适用场景、递归能否用循环代替、递归截止条件有没有其他表示方法、notebooks里某个cell一直运行中如何处理、format字符串格式化的使用、用字典+正则实现批量替换、Python递归与C/C++递归的差别、多继承与多重继承、Python里类有没有私有成员、递归的效率问题、split()函数切割长度的控制、继承的类是否可以改变类变量、是否所有类都能继承、多继承的顺序、继承类的初始化问题、代码里太长的数据定义如何简化、tsv文件和csv文件的区别、如何用Python处理tsv文件等。
L9.4
2020.5.8第10讲:解码之路
摘要:候选解码结果的筛选思路——加字典/常用词词典/高频词排序词典、用循环遍历/列表推导/filter()函数结合lambda内联函数/集合运算四种方式实现数据过滤、用词典缩减/递归深度缩减实现解码优化、字符级与单词级解码、用空间换时间、递归思维、类比思维等。
代码:Jupyter Notebook
第十课思维导图
L10.1
-第10讲答疑(问题列表
摘要:递归运行过程分析方法、利用上下文信息进行候选解码结果筛选、如何用while循环代替递归、lambda内联函数还能用于哪些Python内置函数、语法信息是否可用于筛选、filter()函数的用法、用时间换空间vs.用空间换时间、是否可用不同的词频文件、迭代器的使用、iter()函数和__iter__()函数、是否可结合哈夫曼编码、能否用常用句子库解码、自己上手编程困难该怎么办、加快解码速度的思路、生成器的使用、迭代器转换为列表是否会丢失信息、集合的交集并集计算、程序如何实现分级封装、应该如何添加词频文件不包含的词等。
L10.2
2020.5.15第11讲:反向最大匹配解码与爬虫初步
摘要:基于优先匹配长词的想法,用递归实现反向最大匹配解码;初步了解爬虫的基本概念、基本流程;采、抽、存三步走的简单实现;了解requests使用、回顾正则表达式的配置和re正则库的使用。
代码:Jupyter Notebook
第十一课思维导图
L11.1

学习资源推荐:

  1. 中文 Python 笔记
  2. 千行代码入门Python
  3. Python代码运行可视化
  4. Comprehensive Python Cheatsheet
  5. The Hitchhiker's Guide to Python
  6. 正则表达式调试/可视化
  7. 正则表达式图形式可视化

About

北邮《Python编程与实践》课程资料

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook100.0%

[8]ページ先頭

©2009-2025 Movatter.jp