全面系统Python3入门+进阶课程 更快上手实际开发
2019-05-13 10:57:13 3 举报
AI智能生成
全面系统Python3入门+进阶课程 更快上手实际开发 从基础语法开始,体验python语言之美,笔记总共包含16章 第1章 Python入门导学 第2章 Python环境安装 第3章 理解什么是写代码与Python的基本类型 第4章 Python中表示“组”的概念与定义 第5章 变量与运算符 第6章 分支、循环、条件与枚举 第7章 包、模块、函数与变量作用域 第8章 Python函数 第9章 高级部分:面向对象 第10章 正则表达式与JSON 第11章 Python的高级语法与用法 第12章 函数式编程: 匿名函数、高阶函数、装饰器 第13章 实战:原生爬虫
作者其他创作
大纲/内容
第1章 Python入门导学
1-1 导学
1-2 Python的特性
1-3 我为什么喜欢Python
1-4 Python的缺点
1-5 一个经典误区
1-6 Python能做些什么?(几乎是万能的)
爬虫
大数据与数据分析(Spark)
自动化运维与自动化测试
Web开发:Flask、Django
机器学习:Tensor Flow
脱水语言:混合其他如: C++ 、Java等来编程。能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起
当你遇到问题时,随手拿起Python,编写一个工具,这才是Python正确的打开方式
1-7 课程内容与特点
基础语法
基础语法是任何语言的基础,只有熟练掌握,才能灵活运用语言,写出高效、优美、简洁的代码
Pythonic
Python的语法是非常灵活的,又别具一格的。学习语言就要学习它的风格、特点。这才是语言的精粹。Python尤其如此。
什么是Pythonic
Python高性能与优化
同样的一个功能,可以有数个乃至数十种写法,但每种写法的性能与美观度是不同的。选择性能最高又易于理解的写法才是正确的。
数据结构
我们会尝试用Python来实现一些常见的数据结构。什么是扎实的编程功底?数据结构才是基础。
1-8 Python的前景
1-9 课程维护与提问
公众号:
林间有风
第2章 Python环境安装
2-1 下载Python安装包
Python3.5以上的版本是不支持Windows XP系统的
2-2 安装Python
2-3 IDLE与第一段Python代码
第3章 理解什么是写代码与Python的基本类型
3-1 什么是代码,什么是写代码
代码是现实世界事物在计算机世界中的映射
写代码是将现实世界中的事物用计算机语言来描述
例
画家画画
光影、图形、颜色、结构
摄影师拍照
游戏:我的世界
石英、矿石、水晶
计算机语言
基本数据类型
3-2 数字:整形与浮点型
Python的基本数据类型
数字:Number
包括:整数、小数、浮点型
整数:int
py3只有int型,py2有:int long型
浮点数:float
python没有单精度和双精度之分
其他语言
浮点
单精度(float),双精度(double)
整数
short、int、long
案例
type()
type(1+1.0)
// 表示整除
1//2 得到0
2/2 得到1.0
单斜杠得到:float 类型的,双斜杠得到:int 类型
String(字符串)
List(列表)
Tuple(元组)
Dictionary(字典)
集合
List(列表)
Tuple(元组)
Dictionary(字典)
3-3 10、2、8、16进制
转换
元组
(1,2,3,4,5)
3-4 各进制的表示与转换
各进制表示
二进制
0b10
八进制
0o10
十六进制
0x10
转换
转换成二进制
bin(10)
bin(0o7)
bin(0xE)
转换成十进制
int(0b1010)
10
int(0o10)
8
int(0xF)
15
转换成八进制
oct(8)
向十六进制转换
hex(15)
3-5 数字:布尔类型与复数
bool 布尔类型: 表示真、假
type(True) 是 bool 类型
int(True) 是 1
int(False) 是 0
boo(1) 是 True
只要是非0的都是 True
boo(0) 是 False
complex 复数
用 j 表示
如:36j
3-6 字符串:单引号与双引号
str 字符串
单引号
双引号
三引号
3-7 多行字符串
三引号
>>> '''
liuguoyong
'''
'\nliuguoyong\n'
>>> """
Hello World
Hello World
Hello World
"""
'\nHello World\nHello World\nHello World\n'
liuguoyong
'''
'\nliuguoyong\n'
>>> """
Hello World
Hello World
Hello World
"""
'\nHello World\nHello World\nHello World\n'
\n : 换行符(回车)或不可见字符
3-8 转义字符
3-9 原始字符串
字符串前面加 r
大小写r 都可以
3-10 字符串运算一
子主题
取字符串中的某一个字符
3-11字符串运算二
步长
3-12 字符串运算三
几种方式截取world
负数在冒号前面的意义
第4章 Python中表示“组”的概念与定义
4-1 列表的定义
嵌套列表
4-2 列表的基本操作
列表取值
列表运算
4-3 元组
和列表运算类似
tuple
4-4 序列总结
只定义一个元素的元组和空元组
子主题
序列
str , list, tuple
切片
子主题
in 、 not in
几个函数
查ASCII 码
ord('a')
4-5 set集合
序列是有序的,集合是无序的
集合的特性
1、无序
2、不重复性
3、逻辑关系(in 和not in 的用法,其中in表示包含,not in 表示不包含)
集合
差集
交集
并集
定义一个空集合
4-6 dict字典
{'Q':'新月打击','W':'苍白之瀑','E':'月之降临','R':'月神冲刺'}
字典key 和value 的特性
value 几乎是所有数据类型都可以
key: 必须是不可变的类型
空的字典
{}
4-7 思维导图总结基本数据类型
Python基本数据类型
数字(Number)
整形
int
浮点型
float
布尔型
bool
复数
complex
组
序列
字符串
str 不可变
列表
list 可变
元组
tuple 不可变
集合
set
无序,没有索引,不能切片
字典
dict
key:value 键值对是其最基本的概念
第5章 变量与运算符
5-1 什么是变量
5-2 变量的命名规则
搜索
python保留关键字
5-3 值类型与引用类型
int 值类型
int str tuple
list 引用类型
list set dict
引用类型是可变的,值类型是不可变的
5-4 列表的可变与元组的不可变
一般用十六进制来表示内存地址
hex(id(a))
列表的可变
a = [1,2,3]
a.append(4)
print(a)
a.append(4)
print(a)
元组的不可变
b = (1,2,3)
b.append(4)
会报错
b.append(4)
会报错
元组里的元素可以是不同类型的
如何访问到元组里的列表里的某一个元素
a = (1,2,3,[1,2,4])
a[3][2]
a = (1,2,3,[1,2,['a','b','c']])
a[3][2][1]
修改元组里的列表的元素
a = (1,2,3,[1,2,4])
a[3][2] = '4'
5-5 运算符号
Python运算符
算术运算符
+
-
*
//
整除
/
%
余数
**
平方
赋值运算符
=
+=
*=
/=
%=
**=
//=
比较(关系)运算符
==
!=
>
<
>=
<=
逻辑运算符
and (且、与)
2个都为True 才是 True
or (或)
只有1个为真都为真
not (非)
成员运算符
in
not in
身份运算符
is
is not
位运算符
& 按位与
| 按位或
^ 按位异或
~ 按位取反
<< 左移动
>> 右移动
5-6 赋值运算符
变量在python里就是一个名字,不存在定义一个变量!
c = 1 , 应该说是:把 1 赋值给变量 c ,而不是 定义一个变量 c
5-7 比较运算符
b = 1
b+=b>=1
b+=b>=1
5-8 不只是数字才能做比较运算
'a' > 'b'
[1,2,3] < [2,3,4]
(1,2,3) < (1,3,2)
5-9 逻辑运算符
not not True
非布尔型的逻辑运算,用什么来表示True 和 False
整数和浮点数
int float
0 被认为是False,非0 表示 True
字符串
空字符串:False
not '0'
True
not ''
列表
空的列表:False
True
not []
5-10 成员运算符
判断一个元素是否在一个元素中
a = 1
a in [1,2,3,4,5]
a in [1,2,3,4,5]
b = 6
b in [1,2,3,4,5]
b not in [1,2,3,4,5]
b in [1,2,3,4,5]
b not in [1,2,3,4,5]
字典的成员运算符
b = 'a'
b in {'c':1}
b in {'c':1}
b = 'c'
b in {'c':1}
b in {'c':1}
5-11 身份运算符
a = 1
b = 1.0
a == b ==>True
a is b ==> False
b = 1.0
a == b ==>True
a is b ==> False
== 和 is 区别
is比较的是两个变量的身份是否相等,内存地址;= 比较的是两个变量的取值;
子主题
子主题
5-12 如何判断变量的值、身份与类型
a == b 值
a is b id 身份
类型
a = 'hello'
type(a) == str
这个不推荐
type(a) == str
这个不推荐
使用python自带的函数
isinstance(a,str)
isinstance另一种用法,
推荐使用 isinstance 来做判断
5-13 位运算符
简单了解一下即可,用的比较少
按位与 & 和 按位或
第6章 分支、循环、条件与枚举
6-1 什么是表达式
6-2 表达式的优先级
6-3 表达式优先级练习
6-4 在文本文件中编写Python代码
6-5 熟悉VSCode开发环境与Python插件安装
6-6 Python Linter安装出现错误解决方案(新增)
6-7 流程控制语句之条件控制一
6-8 流程控制语句之条件控制二
6-9 常量与Pylint的规范
6-10 流程控制语句之条件控制三 snippet、嵌套分支、代码块的概念
6-11 流程控制语句之条件控制四 elif的优点
6-12 思考题解答与改变定势思维
第7章 包、模块、函数与变量作用域
7-1 while循环与使用场景
7-2 for 与for-else循环
7-3 for 与range
7-4 新篇章导言
7-5 Python工程的组织结构:包、模块儿、类
7-6 Python包与模块的名字
7-7 import导入模块
7-8 from import 导入变量
7-9 __int__.py 的用法
7-10 包与模块的几个常见错误
7-11 模块内置变量
dir()
__name__
__doc__
__file__
__package__
__annotations__
__builtins__
__cached__
__loader__
__spec__
7-12 入口文件和普通模块内置变量的区别
7-13 __name__的经典应用
7-14 相对导入和绝对导入 一
7-15 相对导入和绝对导入 二
第8章 Python函数
8-1 认识函数
1,功能性
2,隐藏细节
3,避免编写重复的代码
8-2 函数的定义及运行特点
1,参数列表可以没有
2,return value None
8-3 如何让函数返回多个结果
8-4 序列解包与链式赋值
8-5 必须参数与关键字参数
8-6 默认参数
8-7 可变参数
8-8 关键字可变参数
8-9 变量作用域
8-10 作用域链
8-11 global 关键字
8-12 划算还是不划算
第9章 高级部分:面向对象
9-1 类的定义
9-2 浅谈函数与方法的区别
9-3 类与对象
# 类是现实世界或思维世界中的实体在计算机中的反映
# 它将数据以及这些数据上的操作封装在一起
# 它将数据以及这些数据上的操作封装在一起
9-4 构造函数
9-5 区别模块变量与类中的变量
9-6 类变量与实例变量
9-7 类与对象的变量查找顺序
9-8 self与实例方法
9-9 在实例方法中访问实例变量与类变量
python类
变量
类变量
实例变量
方法
实例方法
类方法
@classmethod
静态方法
@staticmethod
构造函数
成员的可见性
9-10 类方法
9-11 静态方法
9-12 成员可见性:公开和私有
9-13 没有什么是不能访问
9-14 继承
面向对象3大特性
继承性
python支持单继承和多继承
封装性
多态性
9-15 子类方法调用父类方法:super关键字
第10章 正则表达式与JSON
10-1 初识正则表达式
10-2 元字符与普通字符
https://baike.baidu.com/item/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1700215?fr=aladdin
10-3 字符集
10-4 概括字符集
10-5 数量词
10-6 贪婪与非贪婪
10-7 匹配0次1次或者无限多次
10-8 边界匹配符
r = re.findall('^\d{4,8}$',qq)
10-9 组
[ ]
中括号中的每个字符是 或 关系
[abc]
表示:或a或b或c
( )
圆括号中的每个字符是 且 关系
10-10 匹配模式参数
r = re.findall('c#', lanuage,re.I | re.S)
re.I
不区分大小写字母
re.S
lanuage = 'PythonC#\nJavaPHP'
r = re.findall('c#.{1}', lanuage,re.I | re.S)
print(r)
r = re.findall('c#.{1}', lanuage,re.I | re.S)
print(r)
10-11 re.sub正则替换
re.sub()
import re
lanuage = 'PythonC#JavaC#PHPC#'
def convert(value):
matched = value.group()
return '!!' + matched + '!!'
r = re.sub('C#', convert, lanuage)
print(r)
lanuage = 'PythonC#JavaC#PHPC#'
def convert(value):
matched = value.group()
return '!!' + matched + '!!'
r = re.sub('C#', convert, lanuage)
print(r)
10-12 把函数作为参数传递
import re
s = 'A8C3721D86'
def convert(value):
matched = value.group()
if int(matched) >= 6:
return '9'
else:
return '0'
r = re.sub('\d', convert, s)
print(r)
s = 'A8C3721D86'
def convert(value):
matched = value.group()
if int(matched) >= 6:
return '9'
else:
return '0'
r = re.sub('\d', convert, s)
print(r)
10-13 search 与 match 函数
10-14 group分组
10-15 一些关于学习正则的建议
10-16 理解JSON
10-17 反序列化
json python
object dict
array list
string str
number int
number float
true True
false False
null None
object dict
array list
string str
number int
number float
true True
false False
null None
10-18 序列化
10-19 小谈JSON、JSON对象与JSON字符串
JSON
JSON对象
JSON字符串
第11章 Python的高级语法与用法
11-1 枚举其实是一个类
11-2 枚举和普通类相比有什么优势
11-3 枚举类型、枚举名称与枚举值
11-4 枚举的比较运算
11-5 枚举注意事项
11-6 枚举转换
11-7 枚举小结
11-8 进阶内容开场白
11-9 一切皆对象
dotnet new console
11-10 什么是闭包
11-11 一个事例看看闭包
11-12 闭包的经典误区
11-13 出个题,用闭包解决!
11-14 我先用非闭包解决一下
11-15 再用闭包解决一下
11-16 小谈函数式编程
第12章 函数式编程: 匿名函数、高阶函数、装饰器
12-1 lambda表达式
匿名函数
12-2 三元表达式
12-3 map
12-4 map与lambda
12-5 reduce
12-6 fiter
12-7 命令式编程 vs 函数式编程
12-8 装饰器一
开闭原则
对修改是封闭的,对扩展是开放的
Unix 时间戳
12-9 装饰器二
12-10 装饰器三
语法糖python
12-11 装饰器四
传多个参数,不同个数的参数
12-12 装饰器五
关键字参数
12-13 装饰器六
例举框架里常用的
第13章 实战:原生爬虫
13-1 分析抓取目的确定抓取页面
https://www.panda.tv/
13-2 理解爬虫常规思路
爬虫前奏
1,明确目的
2,找到数据对应的网页
3,分析网页的结构,找到数据所在的标签位置
13-3 VSCode 中调试代码
断点调试
f5
启动
从一个断点跳到下一个断点
f10
单步执行
f11
进入函数的内部
13-4 HTML结构分析基本原则二条
13-5 数据提取层级分析及原则三
13-6 正则分析HTML
13-7 正则分析获取名字和人数
13-8 数据精炼
13-9 sorted 排序
13-10 案例总结
快速查找函数:Ctrl + Shift + O
第14章 Pythonic与Python杂记
14-1 导言
14-2 用字典映射代替switch case 语句
14-3 列表推导式
14-4 字典如何编写列表推导式
14-5 iterator与generator
14-6 None
14-7 对象存在并不一定是True
14-8 __len__与__bool__内置方法
14-9 装饰器的副作用
第15章 进阶教程《Python Flask高级编程》多章节试看体验1
15-1 鱼书是一个什么样的产品
http://www.yushu.im/
15-2 准备工作
15-3 使用官方推荐的pipenv创建虚拟环境(很好用哦~)_264
pip install pipenv
pipenv install
pipenv shell
开始flask项目的步骤
安装python环境
检验python 和 pip 是否安装好
新建项目文件夹
安装virtualenv
为什么需要虚拟环境?
使用pipenv
安装pipenv
推荐 pipenv 创建的虚拟环境 和 项目绑定
启动 pipenv
安装各种包,比如 flask
pipenv install flask
pipenv 常用管理命令
退出虚拟环境
exit
进入虚拟环境
pipenv shell
安装和卸载
安装
pipenv install
卸载
pipenv uninstall flask
查看依赖关系
pipenv graph
查看项目所在路径
pipenv --venv
子主题
https://github.com/pypa/pipenv
15-4 开发工具推荐
15-5 设置开发工具的默认解释器
15-6 flask最小原型与唯一URL原则
15-7 路由的另一种注册方法
15-8 app.run相关参数与flask配置文件
15-9 你并没有真正理解 if __name__ 的作用
if __name__ == '__main__':
15-10 响应对象:Response
第16章 进阶教程《Python Flask高级编程》多章节试看体验2
16-1 鱼豆
16-2 思维逻辑锻炼
16-3 事务与回滚
16-4 Python @contextmanager_x264
16-5 灵活使用@contextmanager_x264
16-6 结合继承、yield、contextmanager、rollback来解决问题
16-7 类变量的陷阱
0 条评论
下一页