"人生苦短,我用Python",你们可能已经想到这句话就来源于Python的作者—[荷兰]吉多·范罗苏姆。没错,就是上图中那个老鲜肉。其实Python出现的时候还有一个小插曲,完全就是一个机缘巧合。
Python的名称由来
这里呢,我给大家讲一个小故事,在这个1989年的圣诞夜喝,吉多为了打发圣诞夜的无聊,程序员有的时候是不太爱社交的,喜欢一个人思考人生,所以呢,他决定用圣诞夜开发一个脚本程序,那么这个脚本程序怎么命名呢,当时他特别喜欢一个有名的喜剧团体叫做Monty Python,其实没有经过什么深思熟虑,于是呢就把这个小的脚本程序,命名为了Python。
Python英文的愿意有蟒蛇的意思,就是那只很大,很粗的蛇,所以在后面我们说到的牌子的时候,也有暗指这个蟒蛇的寓意,那么对于本身来说Python它的出现是因为什么原因呢?
Python的初衷
这里给大家再讲一个小故事,早期吉多参与了一个程序设计。这个程序叫做ABC,它是一个用于教学的语言。在一九八几年的时候,那时候计算机还是属于少数人的专利,只有在科学院有科学家来进行操作的,那么对于当时ABC设计的初衷,就是能够有更多人掌握编程的魅力,让了解这个计算机的用意,所以呢设计了这么一个编程语言。ABC的这门语言是非常的优雅,而且强大,它是用接近于我们平时英文口述的语法来进行程序的编码,比当时任何一个设计语言使用都要简单,但是ABC却没有取得成功。原因很简单,就是因为ABC当时它并不开放源代码,所以并没有得到当时社会和学校的普遍认可。于是吉多就想,这么好的东要是不把它发扬光大,那岂不可惜了吗,于是他就在ABC这个语言的基础上开放源代码,并且进行了更新和优化,于是Python就诞生了,所以说Python的前身就是刚才说的ABC这门语言,它的一个重要的特性就是开放源代码,并且语法和使用的方式接近于我们的自然语言,这是Python在设计之初最重要的魅力。后来呢,在经过二十多年的不断的积累和迭代以后,Python到现在为止已经发布到了第三个大版本。
第一阶段(1-8天)
该阶段我们正式进入Python这门语言的学习,首先通过了解Python语言的起源,Python语言的设计目标,Python语言的设计哲学,Python语言的优缺点和面向对象的基本概念,以及Python语言的执行方式,还有Python集成开发环境PyCharm的使用为我们接下来的学习做铺垫。
然后我们会学习int,string,float三种简单的变量类型,变量间的计算,变量的输入输出,if判断语句,while循环语句,for循环语句,break和continue的使用,函数的基本使用,模块的使用,列表,元组,字典三种高级变量,字符串的常用操作。
最后我们会学习语法的进阶内容,全局变量,局部变量,可变数据类型和不可变数据类型以及函数返回多个值,函数的缺省参数,多值参数,递归的基本使用。
第二阶段(9-12天)
该阶段我们会学习面向对象(OOP)这一重要的编程思想,首先学习的知识点有类和对象的基本概念,dir函数,self的作用,初始化方法__init__,内置函数__str__,del,单继承,方法重写,私有属性和方法,多继承,多态,类属性,静态方法。
然后我们还会学习单例模式这一设计模式,异常的捕获,异常的抛出,from import局部导入,from import导入同名工具, from import导入所有工具,包的使用,制作模块,pip的使用以及文件的相关操作。
第三阶段(13-15天)
该阶段是项目演练阶段,我们会带领大家通过使用之前学习过的知识开发飞机大战这一经典游戏,项目中分别有游戏窗口,图像绘制,游戏循环,事件监听,精灵和精灵组以及创建敌机,创建英雄和发射子弹,碰撞检测等模块。
2020最新Python零基础到精通资料教材,干货分享,新基础Python教材,看这里,这里有你想要的所有资源哦,最强笔记,教你怎么入门提升!让你对自己更加有信心,重点是资料都是免费的,免费!!!
本视频是面向编程零基础学员的Python入门教程,内容涵盖了Python的基础知识和初步应用。以较轻快的风格,向零基础学习者介绍了一门时下比较流行的、并且用途比较广泛的编程语言。同时,其语法简洁而清晰,类库丰富而强大,非常适合于进行快速原型开发。另外,Python可以运行在多种系统平台下,从而使得只需要编写一次代码,就可以多个系统平台下保持有同等的功能。
为了能够使广大学员既能够掌握Python语言的基础知识,又能够将Python语言用于某个特定的领域,本视频将全面介绍和Python相关的这些内容。在学习完本视频之后,相信学员可以很好地掌握Python语言,同时可以使用Python语言进行实际项目的开发。
本视频以理论与实际相结合为原则,为每个知识点都设计了对应的示例,让Python的初学者能够既快速又深刻的理解这些知识点。同时在每章的最后设计了针对各章内容的作业题,能够让学员趁热打铁,以达到巩固所学知识的目的。
本视频的主要特色:
1.循序渐进,由浅入深
为了方便学员学习,本视频首先让学员了解Python的历史和特点,通过具体的例子逐渐把学员带入Python的世界,掌握Python语言的基本要点以及基础类库、常用库和工具的使用。
2.技术全面,内容充实
本视频在保证内容使用的前提下,详细介绍了Python语言的各个知识点。同时,本视频涉及的内容非常全面,无论从事什么行业的学员,都可以从本视频中找到可应用Python与本行业的地方。
3.代码完整,详解详尽
对于视频中的每个知识点都有一段示例代码,并对代码的关键点进行了注释说明。每段代码的后面都有详细的分析,同时给出了代码运行后的结果。学员可以参考运行结果阅读源程序,加深对程序的理解。
如何快速入门?本视频如何学习?
本视频共分为25章,为了方便大家的学习,我们对各章节做简要说明。
第一章:
讲解Python能做什么、Python的特征和优势、Python环境的搭建等内容。
第二章:
讲解Python的语法知识,深入了解Python的编码规则、变量和常量的声明及使用、数据类型、运算符和表达式。通过本章的学习,学员能掌握Python编码的一些规范及一些基本概念。
第三章:
讲解Python中的控制语句、循环语句以及一些习惯用法,结合示例讲解了Python结构化编程的要点。
第四章:
讲解Python的内置数据结构(列表、元祖、字典、集合)。根据使用习惯分别介绍了这些内置数据结构的特点以及区别。
第五章:
讲解Python中函数的概念。重点介绍了Python的函数的定义、调用、传参、递归函数等内容。
第六章:
讲解面向对象程序设计,重点讲解如何实现面向对象的三大特性及设计模式。
第七章:
讲解Python中的模块、包的概念,重点讲解了模块的导入及使用。
第八章:
讲解Python对异常的处理、异常的捕获和抛出、自定义异常等内容。
第九章:
讲解Python对文件的基本操作,包括文件的创建、读写、删除、复制。重点讲解了pickle序列化、处理JSON格式的数据。
第十章:
讲解正则表达式的概念以及re模块处理正则表达式。
第十一章:
讲解Python中进程和线程的概念。主要的内容包括进程和线程的创建及管理。重点讲解了多线程环境下数据同步。
第十二章:
讲解Python中和网络编程相关的内容,包括使用TCP/UDP协议实现服务器端和客户端的通信。
第十三章:
讲解Python自带的GUI开发库Tkinter的基本组件及其使用方法,并给出每种组件的详细示例代码。
第十四章:
讲解坦克大战游戏详细实现。用一个游戏项目将前面的基础知识做了串联,让大家了解项目开发的全流程。
第十五章:
讲解Python数据库开发方面的知识,重点讲解了SQLite数据库和MySQL数据库。数据库技术是实现动态软件技术的必要手段,因此掌握数据库开发是非常必要的。
第十六章:
协程和异步IO。本章讲解了线程、进程和协程的优缺点、协程的概念、协程的创建、协程阻塞、协程嵌套和并行与并发的概念。
第十七章:
算法。本章通过实例引导让大家知道为什么要有算法,重点讲解了算法效率衡量、常见的排序算法(冒泡、选择、插入、快速、归并)和查找算法(顺序查找法、二分查找法)。
第十八章:
数据结构。本章主要讲解了常见的几种数据结构,包括顺序表、链表、栈、队列和二叉树,并对不同存储结构和相应算法的分析对比。
第十九章:
函数式编程和高阶函数。本章主要讲解了什么是函数式编程、常用高阶函数(map、reduce、filter、sorted)、匿名函数、闭包装饰器及偏函数的应用。
第二十章:
本章讲解Numpy数组创建、索引切片、拼接和一些通用函数。Numpy是一个非常强大的科学计算库,为学习数据科学、人工智能打下一定基础。
第二十一章:
本章讲解Matplotlib的基本使用方法,通过对本章的学习,可以对Matplotlib的基本使用方法有一个全面的了解,进而对大多数数据进行可视化。
第二十二章:
本章讲解图像处理的功能。通过使用Pillow库,可以方便地使用Python程序对图片进行处理,例如常见的尺寸、格式、色彩、旋转等处理。
第二十三章:
本章讲解语音识别技术。通过本章学习可以将人类的语音内容转换为相应的文字和文字转换为语音。
第二十四章:
本章讲解OpenCV基本使用,并完成在图片中检测一张人脸是谁的过程。
第二十五章:
本章讲解TensorFlow框架基本使用,并给出线性回归和手写数字识别示例的详细代码。
关注微信公众号:编程从0学起,免费领取
第一季 1.1 Python入门
001.Python介绍_特性_版本问题_应用范围
002.Python下载_安装_配置_第一行Python程序
003.开发环境介绍_交互模式的使用_IDLE介绍和使用
004.IDLE开发环境的使用_建立Python源文件
005.Python程序格式_缩进_行注释_段注释
006.简单错误如何处理_守破离学习法_程序员修炼手册
007.海龟绘图_坐标系问题_画笔各种方法
008.海龟绘图_画出奥运五环图
1.2 内置数据类型
009.程序的构成
010.对象的基本组成和内存示意图
011.引用的本质_栈内存和堆内存_内存示意图
012.标识符_帮助系统的简单使用_命名规则
013.变量的声明_初始化_删除变量_垃圾回收机制
014.链式赋值_系列解包赋值_常量
015.内置数据类型_基本算术运算符
016.整数_不同进制_其他类型转换成整数
017.浮点数_自动转换_强制转换_增强赋值运算符
018.时间表示_unix时间点_毫秒和微秒_time模块
019.多点坐标_绘出折线图_计算两点距离
020.布尔值_比较运算符_逻辑运算符_短路问题
021.同一运算符_整数缓存问题
022.字符串_unicode字符集_三种创建字符串方式_len()
023.字符串_转义字符_字符串拼接_字符串复制_input()获得键盘输入
024.字符串_str()_[]提取字符_replace()替换_内存分析
025.字符串_切片slice操作_逆序
026.字符串_split()分割_join()合并_join()效率测试
027.字符串_驻留机制_内存分析_字符串同一判断_值相等判断
028.字符串_常用查找方法_去除首位信息_大小写转换_排版
029.字符串_format格式化_数字格式化操作
030.可变字符串_io.StringIO
031.运算符总结_位操作符_优先级问题
关注微信公众号:编程从0学起,免费领取
1.3 序列
032.列表_特点_内存分析
033.创建列表的4种方式_推导式创建列表
034.列表_元素的5种添加方式_效率问题
035.列表_元素删除的三种方式_删除本质是数组元素拷贝
036.列表_元素的访问_元素出现次数统计_成员资格判断
037.列表_切片slice操作
038.列表_排序_revered逆序_max_min_sum
039.列表_二维列表_表格数据的存储和读取
040.元组_特点_创建的两种方式_tuple()要点
041.元组_元素访问_计数方法_切片操作_成员资格判断_zip()
042.元组_生成器推导式创建元组_总结
043.字典_特点_4种创建方式_普通_dict_zip_formkeys
044.字典_元素的访问_键的访问_值的访问_键值对的访问
045.字典_元素的添加_修改_删除
046.字典_序列解包用于列表元组字典0
47.字典_复杂表格数据存储_列表和字典综合嵌套
048.字典_核心底层原理_内存分析_存储键值对过程
049.字典_核心底层原理_内存分析_查找值对象过程
050.集合_特点_创建和删除_交集并集差集运算
1.4 控制语句
051.Pycharm开发环境的下载安装配置_项目管理
052.单分支选择结构_条件表达式详解
053.双分支选择结构_三元运算符的使用详解
054.多分支选择结构
055.选择结构的嵌套
056.while循环结构_死循环处理
057.for循环结构_遍历各种可迭代对象_range对象
058.嵌套循环
059.嵌套循环练习_九九乘法表_打印表格数据
060.break语句
061.continue语句
062.else语句
063.循环代码优化技巧(及其重要)
064.zip()并行迭代
065.推导式创建序列_列表推导式_字典推导式_集合推导式_生成器推导式
066.综合练习_绘制不同颜色的多个同心圆_绘制棋盘
1.5 函数和内存分析
067.函数的基本概念_内存分析_函数的分类_定义和调用
068.形参和实参_文档字符串_函数注释
069.返回值详解
070.函数也是对象_内存分析
071.变量的作用域_全局变量_局部变量_栈帧内存分析讲解
072.局部变量和全局变量_效率测试
073.参数的传递_传递可变对象_内存分析
074.参数的传递_传递不可变对象_内存分析
075.浅拷贝和深拷贝_内存分析
076.参数的传递_不可变对象含可变子对象_内存分析
077.参数的类型_位置参数_默认值参数_命名参数
078.参数的类型_可变参数_强制命名参数
079.lambda表达式和匿名函数
080.eval()函数用法
081.递归函数_函数调用内存分析_栈帧的创建
082.递归函数_阶乘计算案例
083.嵌套函数_内部函数_数据隐藏
084.nonlocal_global
085.LEGB规则
关注微信公众号:编程从0学起,免费领取
1.6 面向对象和内存分析
086.面向对象和面向过程的区别_执行者思维_设计者思维
087.对象的进化故事
088.类的定义_类和对象的关系
089.构造函数__init__
090.实例属性_内存分析
091.实例方法_内存分析方法调用过程_dir()_isinstance
092.类对象
093.类属性_内存分析创建类和对象的底层
094.类方法_静态方法_内存分析图示
095.__del__()析构方法和垃圾回收机制
096.__call__()方法和可调用对象
097.方法没有重载_方法的动态性
098.私有属性
099.私有方法
100.@property装饰器_get和set方法
101.面向对象的三大特征说明(封装、继承、多态)
102.继承
103.方法的重写
104.object根类_dir()
105.重写__str__()方法
106.多重继承
107.mro()
108.super()获得父类的定义
109.多态
110.特殊方法和运算符重载
111.特殊属性
112.对象的浅拷贝和深拷贝_内存分析
113.组合
114.设计模式_工厂模式实现
115.设计模式_单例模式实现
第二季 2.1 文件处理
116_file文件操作_操作系统底层关系_写入文件
117_编码知识_中文乱码问题解决
118_关闭流要点1_try异常管理
119_关闭流要点2_with上下文管理_现场还原
120_文本文件的读取
121_enumerate()函数和推导式生成列表_操作每行增加行号
122_二进制文件的读写_图片文件拷贝
123_文件对象常用方法和属性总结_seek()任意位置操作
124_使用pickle实现序列化和反序列化_神经元记忆移植
125_CSV文件的读取_写入
126_os模块_调用操作系统可执行文件_控制台乱码问题
127_os模块_获得文件信息_创建文件夹_递归创建
128_os.path模块_常用方法
129_os模块_使用walk遍历
130_shutil模块_文件和目录拷贝
131_shutil和zipfile模块_压缩和解压缩
132_递归算法原理_阶乘计算
133_递归算法原理_目录树结构展示
2.2 异常
134_异常的本质_调试核心理念
135_try_except基本结构
136_try_多个except结构
137_else结构
138_finally结构
139_常见异常汇总和说明
140_with上下文管理
141_trackback模块的使用_异常写入日志文件
142_自定义异常类_raise抛出异常
143_pycharm的调试模式
关注微信公众号:编程从0学起,免费领取
2.3 模块
144_模块化编程理念_什么是模块_哲学思想
145_模块化编程的流程_设计和实现分离
146_模块导入_import和from_import语句详解和区别
147_import加载底层原理_importlib模块
148_包的概念和创建包和导入包
149_包的本质和init文件_批量导入_包内引用
150_sys.path和模块搜索路径详解
151_模块的本地发布_模块的安装
152_PyPI官网_远程上传和管理模块_PIP方式安装模块
2.4 GUI编程
153_GUI编程和tinkter介绍_第一个GUI程序
154_PEP8编码规范_窗口大小和位置
155_GUI编程整体描述_常用组件汇总
156_GUI程序的经典面向对象写法
157_Label组件_tkinter中图像正确显示全局变量写法
158_options选项详解_底层源码分析和阅读_可变参数和运算符重载复习
159_Button_anchor位置控制
160_Entry_StringVar_登录界面设计和功能实现
161_Text多行文本框详解_复杂tag标记
162_Radiobutton_Checkbutton详解
163_Canvas画布组件
164_Grid布局管理器详解
165_计算器软件界面的设计
166_Pack布局管理器_钢琴软件界面设计
167_Place管理器_绝对位置和相对位置
168_扑克游戏界面设计_增加事件操作
169_事件机制和消息循环原理_鼠标事件_键盘事件_event对象
170_lambda表达式_事件传参应用
171_三种事件绑定方式总结
172_optionmenu选项菜单_scale滑块
173_颜色框_文件选择框_读取文件内容
174_简单对话框_通用消息框_ttk子模块问题
175_主菜单_上下文菜单
176_【记事本项目01】_打开和保存修改文件的实现
177_【记事本项目02】_新建文件_背景色改变_快捷键功能
178_【记事本项目03】python项目打包成exe可执行文件
179_【画图项目01】_界面实现
180_【画图项目02】_绘制直线_拖动删除上一个图形
181_【画图项目03】_箭头直线_矩形绘制
182_【画图项目04】_画笔和橡皮擦实现
183_【画图项目05】_清屏_颜色框_快捷键处理
2.5 坦克大战
184_pygame模块的安装
185_面向对象分析项目需求
186_坦克大战项目框架搭建
187_加载主窗口
188_坦克大战之事件处理
189_左上角文字的绘制
190_加载我方坦克
191_我方坦克切换方向_移动
192_我方坦克移动优化
193_我方坦克优化2
194_加载敌方坦克
195_敌方坦克随机移动
196_完善子弹类
197_我方坦克发射子弹
198_子弹移动
199_子弹消亡及数量控制
200_敌方坦克发射子弹
201_我方子弹与敌方坦克的碰撞
202_实现爆炸效果
203_我方坦克的消亡
204_我方坦克无限重生
205_加载墙壁
206_子弹不能穿墙
207_坦克不能穿墙
208_敌我双方坦克发生碰撞
209_音效处理2.6 数据库编程输出
2.6 数据库编程输出
210操作SQLite3创建表
211操作sqlite3数据库插入数据
212操作SQLite3数据库查询数据
213操作SQLite3数据库修改_删除数据
214MySQL数据库的下载
215MySQL安装
216PyMySQL模块的安装
217操作MySQL数据库创建表
218操作MySQL数据库插入数据
219操作MySQL数据库查询数据
220操作MySQL数据库修改_删除数据
2.7 numpy
221_numpy是什么及numpy的安装
222_array进行创建数组
223_arange创建数组
224_随机创建数组1
225_随机数创建数组
2226_ndarray对象的属性
227_其他方式创建数组
228_一维数组的切片索引
229_二维数组的切片和索引
230_数组的复制
231_修改数组的维度
232_数组的拼接
233_数组的分隔
234_数组的转置
235_函数1
236_函数2
关注微信公众号:编程从0学起,免费领取
2.8 matplotlib
237_基本绘制图形
238_设置样式
239_绘制曲线
240_subplot的使用
241_绘制散点图
242_绘制不同样式不同颜色的线条
243_绘制柱状图
244_bar及barh函数的使用
245_柱状图使用实例
246_绘制饼状图
247_绘制直方图
248_绘制等高线图和三维图
第三季 3.1 并发编程
249_多任务的概念
250_创建子进程并调用
251_join方法的使用
252_属性的使用_多任务的创建
253_使用继承方式创建进程
254_进程池的使用
255_多个进程之间数据不共享
256_队列常用方法使用
257_进程之间通信
258_进程和线程的区别
259_thead创建线程
260_threading模块创建线程
261_线程之间共享全局变量
262_互斥锁
263_线程同步的使用
264_生成者消费者模式
265_ThreadLocal的使用
3.2 网络编程
266_IP地址_端口
267_网络通信协议
268_TCP协议_UDP协议
269_UDP发送数据
270_UDP接收数据
271_UDP使用多线程实现聊天
272_TFTP文件下载器过程及格式介绍
273_TFTP下载器客户端实现
274_TCP通信
275_TCP服务器端接收数据
276_TCP模拟QQ
277_TCP多线程完成聊天
278_TCP多线程聊天优化
第四季 4.1 算法
279_算法的概念
280_第二次获取值
281_时间复杂度
282_最坏时间复杂度_常见时间复杂度与大小关系
283_空间复杂度
284_排序算法的稳定性
285_冒泡排序
286_选择排序
287_选择排序_时间复杂度_稳定性
288_插入排序
289_插入排序时间复杂度
290_快速排序的思想
291_快速排序实现
292_快速排序_时间复杂度
293_归并排序思想
294_归并排序实现
295_归并排序_时间复杂度
296_顺序查找法
297_二分查找法
关注微信公众号:编程从0学起,免费领取
4.2 数据结构
298_数据结构的引入
299_顺序表
300_测试list列表中insert和append的执行速度
301_链表的引入
302_单链表及节点的定义
303_单链表_是否为空_计算长度方法的实现
304_单链表_查找_遍历方法的实现
305_单链表_头部_尾部添加节点
306_单链表指定位置插入元素
307_单链表删除节点
308_链表与顺序表的对比
309_双向链表节点定义
310_双向链表添加节点
311_双向链表指定位置插入节点
312_双向链表其它操作
313_栈的实现
314_队列的实现
315_树的概念
316_二叉树的概念
317_二叉树节点定义_添加节点
318_广度优先遍历
319_深度优先遍历
4.3 函数式编程和高阶函数
320_高阶函数概念
321_高阶函数map的使用
322_高阶函数reduce的使用
323_高阶函数filter的使用
324_高阶函数sorted的使用
325_匿名函数
326_闭包定义及使用
327_使用闭包求两点之间的距离
328_闭包的特殊用途
329_装饰器的基本使用
330_多个装饰器的使用
331_带参数的装饰器
332_通用装饰器
333_偏函数
4.4 正则表达式
334_正则表达式的概念
335_match方法的使用
336_常用字符的使用
337_重复数量限定符
338_重复数量限定符的使用
339_原生字符串
340_边界字符的使用
341_search方法的使用
342_择一匹配符合列表的使用差异
343_正则表达式分组的使用
344_其他函数的使用
345_贪婪模式和非贪婪模式
4.5 pillow图像处理
346_Image打开显示图片
347_Image完成图像混合
348_图像的缩放_复制_剪切_粘贴
349_图像的旋转_分离合并
350_图像滤镜
351_图片合成
352_调整图像色彩_亮度
353_ImageDraw绘图二维图像
354_ImageFont的使用
355_绘制十字
356_绘制验证码
357_绘制九宫格
358_将图片中黄色修改为红色
359_读取图片实例
4.6 人脸识别
360_加载图片
361_将图片灰度转换
362_修改图片尺寸
363_绘制矩形_圆
364_人脸检测
365_检测多张人脸
366_检测视频中人脸
367_训练数据
368_人脸识别
4.7 语音识别
369_文本_转换为语音
370_使用SpeechLib完成文本转换为语音
371_使用PocketSphinx实现语音转换为文本
4.8 协程_异步IO
372_协程的概念
373_yeild的使用
374_yield实现生产者消费者
375_同步和异步的概念
376_定义协程
377_创建任务task
378_绑定回调
379_阻塞和await
380_asyncio实现并发
381_协程嵌套
382_协程停止
4.9 神经网络
383_神经网络原理
384_激活函数
385_TensorFlow简介
386_查看默认图
387_自定义图
388_使用TensorBoard将图可视化
389_会话Session
390_feed_dict的使
391_张量的创建
392_修改张量形状
393_矩阵运算
394_变量的定义
395_线性回归案例实现
396_增加变量显示
397_增加命名空间
398_保存读取模型
399_加载mnist数据集
400_手写数字识别
401_手写数字识别_增加变量显示_命名空间
402_手写数字识别_保存读取模型
关注微信公众号:编程从0学起,免费领取
Python一定不能急功近利要循序渐进。