王的机器要开课了

【王的机器】要和新加坡一家在线教育平台 VIPCLASS 一起合作推出 Python 课程,整套内容目录如下图。

首先要学好 Python 的基础知识,不要一上来就好高骛远使用各种包。打牢基础之后,我们再把旗下最常用的几个包一一攻破:

  • 用于数组计算的 Numpy

  • 用于科学计算的 Scipy

  • 用于数据分析的 Pandas

  • 用于基本可视化的 Matplotlib

  • 用于统计可视化的 Seaborn

  • 用于交互可视化的 PyEcharts

  • 用于机器学习的 Scikit-Learn

  • 用于深度学习的 Keras

本次课程只是 Python 基础,分 11 节。

扫描下方二维码即可报名

????????????

0

我是谁?

我是谁不重要,我能死磕细节、细磨课件,全心付出,深入浅出的教会你们 Python 才重要,这些特质「王的机器」的读者应该很熟悉。面向不是公众号的朋友,还是贴张简历吧。

1

1

为什么要上你的课?

市面上的课程推广文章通常会吹嘘一番 Python,再贩卖一波焦虑,让你买课,但我不会,我更喜欢无套路实打实的推广。

不过有人还是会问:

  1. Python 基础知识就那么少

  2. 市面免费或低价的课那么多

为什么还要付费上你的课?

原因就在于我按下面四点讲课(看过我文章的朋友也应该知道我喜欢这样写文章):

体系化,故事化,可视化,抽象化

  • 体系化(systematize)可以把握全局

  • 故事化(dramatize)可以引人入迷

  • 可视化(visualize)可以增强记忆

  • 抽象化(generalize)可以认清本质

下节我就结合「学习 Python 基础知识」来详细而具体地介绍这四点。

2

上这门课能学到什么?

表面上看,上这 Python 课能学到的肯定是 Python,但是学到「体系化、故事化、可视化、抽象化任何知识的这种能力」会更加重要。

体系化

将零碎的知识点体系化真的很重要,我就把这门课的所有要点都放在一张思维脑图(是体系化知识的好工具)里了。

整个 Python 基础内容我把它结构化为六点:

  1. 编程概论

  2. 数据

  3. 流程

  4. 函数

  5. 对象和类

  6. 高级特征

从下面动图可看出每个点的更多细节。

按上面这种方式划分构建一个体系是有原因的:

编程概论:学习任何一种编程语言,我们都需要了解一些概论。类比计算机语言和人类语言,学习语言首先要了解其词汇语法,再开始讲故事

  • 词汇包括保留字(keyword)和变量名(variable name)

  • 语法包括缩进、冒号等等

  • 故事可由三种方式来演绎,按顺序讲;按条件讲;重复讲

了解完概论就可以了解所有编程语言中最重要的一环,数据


数据:数据的重要性不需要多讲,在 Python 中数据可分两大类:

  • 元素型:整数、浮点、布尔、None

  • 容器型:字符串、元组、列表、字典、集合

数据会被命名成变量,变量(词)之间会发现联系(句子),当你试着「用词造句讲故事」的时候,你实际创建了一个流程,而流程需要控制。


流程类比三种演绎故事的形式,代码也可以按顺序写、按条件写(if)、重复写(while, for),这些都叫做流程控制,当然在运行不出错的时候。如果出错了需要异常处理(try, except)。因此流程控制可细分

  • 按顺序:一句一句写

  • 按条件:用 if 语句

  • 按重复

    • 用 for 循环 - 当循环次数事先知道

    • 用 while 循环 - 当循环次数事先不知道

  • 要纠正:用 try, except, else, finally 语句

当你想重复使用一组语句时,你需要考虑函数


函数:Python 定义函数有两种方式:

  1. 用 def 定义普通函数

  2. lambda 定义匿名函数

Python 把函数当成「一等公民」,即可把函数当成变量使用,进而可以定义高阶函数(普通函数和匿名函数都属于低阶函数):

  • 把函数当成输入参数

  • 把函数当成输出结果

介绍完数据和函数后,我们可得出

  • 如果只处理数据,将其存储在列表,字典或其他数据中

  • 如果只处理行为,而没有存储数据,则使用函数更合适

如果同时要处理到数据和行为呢?考虑对象


对象和类对象是既具有数据又具有行为的实例,而类是对象的描述。变量和函数是零散的,而对象将它们集合起来,

  • 在对象里也有变量,用来存储数据,这时变量又称字段(fields)

  • 在对象里也有函数,用来操作数据,这时函数又称方法(methods)

字段和方法统称为类的属性(attributes)。

基于对象编程叫做「面向对象编程」,里面的知识点包括:实例变量、类变量、实例方法、类方法、静态方法、继承、多态、魔法方法、属性装饰器等。


高级特征:这是都是些锦上添花的东西,包括格式化字符串、正则表达式、解析表达式、生成器、迭代器和装饰器等等。


现在我已经把整套课的体系建出来了,当然每个知识点还有很多细节要去深挖。学习一个新事物时,我痴迷于去体系化其要点,去对比和类比其性质、这样知识点会越来越明晰。

体系化可以把握全局

故事化

故事总是比代码更能让人感兴趣,尤其以 Python 的难点「装饰器」为例,如果一上来就给装饰器的代码 @decorate_function,没有多少人能坚持学下去的。但是如果将它赋予故事呢?


故事开始

斯蒂文是个厨师,有一天开始研究汉堡 (burger) 的做法,第一次他只用鸡肉饼做汉堡。

def meat(food='--鸡肉饼--'):print(food)burger = meat
burger()
--鸡肉饼--

很明显汉堡都是肉,太荤了。加点蔬菜如何?

def vegetable(func):def wrapper():print(' ~西红柿~')func()print(' ~沙拉菜~')
burger = vegetable(meat)
burger()
 ~西红柿~
--鸡肉饼--~沙拉菜~

现在汉堡看起来不错,可是好像看缺少了什么?对,再加点面包就好了。

def bread(func):def wrapper():print('</------\>')func()print('<\------/>')return wrapperburger = bread(vegetable(meat))
burger()
</------\>~西红柿~
--鸡肉饼--~沙拉菜~
<\------/>

现在看上去真像汉堡,面包夹着蔬菜,蔬菜夹着肉。

故事结束


面包和蔬菜「装饰」着鸡肉饼,bread() 和 vegatable() 这两个函数起着「装饰器」的作用,它们没有改变 meat() 函数,只在它的基础上添砖加瓦,最后把鸡肉饼装饰成汉堡。

我相信即便你在还不太懂 Python 函数的情况,也能大概了解装饰器的作用了。

除了故事化,我在讲难点时喜欢把所有需要的知识点过一遍。比如装饰器涉及到函数的各种用法,我会在讲装饰器前,揉碎了讲下面几个知识点:

  1. 把函数赋值给变量

  2. 在函数里定义函数

  3. 在函数里返回函数

  4. 把函数传递给函数

这样你们学起来会很轻松,但对我而言就要下很大功夫,但是我愿意。

故事化可以引人入迷

可视化

一图胜千言,人是感官动物,从图表中接收的信息绝对比从文字快。

在学习高阶函数 map, filter, reduce 的时候,绝大教材都会直接上代码这样举例:

lst = [1, 2, 3, 4, 5]
map_iter = map( lambda x: x**2, lst )
list(map_iter)
[1, 4, 9, 16, 25]
f_iter = filter( lambda x: x%2==1, lst )
list(f_iter)
[1, 3, 5]
from functools import reduce
reduce( lambda x,y: x+y, lst )
15

虽然可以看懂,但是总觉得不直观。再看看我是如何来「可视化」这三个函数的。

我们看着 Emoji,很自然的就能读懂

  • 将 cook 函数映射(map)到牛、土豆、鸡和玉米上,就能做出汉堡、薯条、鸡腿和爆米花。原来 map 函数是把它第一个参数(函数)作用到它第二个参数(容器型数据)上啊。

  • 用 ismeat 函数来判断牛、土豆、鸡和玉米是不是肉,得出汉堡和鸡腿是肉,因此将它们过滤(filter)出来。原来 filter 函数是把它第一个参数(函数)作用到它第二个参数(容器型数据)上,然后过滤出返回为真的数据。

  • 将 eat 函数压缩(reduce)牛、土豆、鸡和玉米成排泄物,因此 reduce 函数是用第一个参数(函数)作用到它第二个参数(容器型数据)上,得到一个元素型数据。

这样是不是秒懂 map, filter 和 reduce 了?


再举一个我最喜欢的例子,「可视化」列表解析式。

你可以把「带 if 的 for 循环」到「解析式」的过程想像成一个「复制-粘贴」的过程:

  1. 将「for 循环」的新列表复制到「解析式」里

  2. 将 append 里面的表达式 n 复制到新列表

  3. 复制循环语句 for n in lst 到新列表里,不要最后的冒号

  4. 复制条件语句 if n%2 == 1 到新列表里,不要最后的冒号

通过这样的可视化过程,你发现列表解析式原来这么简单直观啊。

可视化可以增强记忆

抽象化

从具体问题能抽出本质是一种很重要的能力,人一旦会举一反三才算会学习。

以格式化字符串举例,一般有四种方法:

  1. 用 % 字符

  2. 用 $ 字符

  3. 用 format 函数

  4. 用 f-string

如果光看例子,那真是千奇百怪,但透过例子看本质,每种方法都有通用的语法格式,如下图总结。

记住那么多特例是不可能的,但记住这四种通式是可行的。

抽象化可以认清本质

3

怎么才能上这门课?

扫描下方二维码即可报名

????????????

11 节高强度高输出的课才 75 人民币,我都觉得有些对不起自己的付出了。Python 基础课上完之后,我还有八门 Python 金融工程的进阶课,里面包含各种案例,比如

  • 用 Numpy 计算交易组合的风险价值,计算贷款组合的经济资本,分配投资组合的最佳权重,等等。

  • 用 Scipy 用偏微分方程定价障碍期权,用蒙特卡洛方法实现随机波动率模型,等等。

  • 用 Pandas 实现三隔栏(triple-barrier)和元标签(meta-label),等等。

  • 用 Matplotlib 和 PyEcharts 来绘制各种金融数据的关系图。

  • 用 Scikit-learn 和 Keras 来实现多因子模型,等等。

整套 Python 生态配上金融工程的内容,我想想都感到兴奋,能做出来非常不容易,能有幸让你们都学会更有满足感,当然价格一定会比 Python 基础课的 75 元要高。

回到这次Python 基础课,授课时间和方式的细节如下:

授课时间

2020 年 4 月 7 日开课

每周二和周四晚上 8 点半

每堂课 30 分钟

如果内容讲不完会延长时间

授课方式

直播 + 录播

录播视频在直播后 4 个小时自动生成

一年有效

我就喜欢用框架总结,抓住重点

我就喜欢用故事类比,妙趣横生

我就喜欢用图表剖析,简单易懂

我就喜欢用通式归纳,举一反三

此外,我会死磕每一个细节,揉碎每一个难点,细调每一页课件的颜值。

如果你同意我的教课理念,看过并喜欢我的文章,也相信我的课程质量,那么就来报名吧,让我来给你一次不一样的 Python 课

2020 年 4 月 7 日晚上 8 点半

我等着你

不一样的 Python 课【王的机器出品】相关推荐

  1. Python 进阶版硬核课程【王的机器出品】

    本次课是整套 Python 第二阶段的课.我把整套知识体系分成四个模块: Python 基础: 已直播完 (录播已上传),点击[课程介绍]和[课后复盘]看详细信息 Python 数据分析:这次的课程, ...

  2. 【7 月 7 日开课】Python 进阶版硬核课程【王的机器出品】

    本次课是整套 Python 第二阶段的课.我把整套知识体系分成四个模块: Python 基础: 已直播完 (录播已上传),点击[课程介绍]和[课后复盘]看详细信息 Python 数据分析:这次的课程, ...

  3. 『王的机器』四天免费学完 DataCamp 12 门课

    本文含 2101 字,5 图表截屏 建议阅读 6 分钟 在公众号对话框回复 DCP 获取全部 12 门课的课件和数据 抱歉用「标题党」的形式把大家引进来看,但我的确只用了 4 天休闲时间(白天还要工作 ...

  4. 王的机器第一本书「快乐机器学习」飨你

    在人工智能日久见兴盛的今天,AI 领域的图书多如牛毛,想要入门机器学习有很多很多的选择,可博文菌翻来翻去后发现,选择都是你们的,悲伤是自己的--因为-- 对于博文菌这样一个只有高中数学基础的憨憨,什么 ...

  5. b站路飞学城python课梨视频项目代码

    @b站路飞学城python课梨视频项目代码 # -*- coding:utf-8 -*- import requests from lxml import etree import random im ...

  6. python课设_校园一卡通

    常州大学Python课设,校园一卡通 一.设计题目:校园一卡通管理系统 二. 设计内容: 用类的方法设计学生一卡通数据类型学生一卡通的基本数据成员至少包括:卡号(学号), 姓名, 性别, 余额,消费总 ...

  7. Python课设实验 之 公交查询系统.(文本导入 字典树 储存.)

    要求: 目录 要求: 第1题  编写一个公交查询系统 随着公交系统的庞大,人们很难得到准确的公交信息,这样给人们的出行就带来了不便.因此,急需一个方便.快捷的公交信息查询方式,本系统提供换乘询功能.路 ...

  8. Python课 #06号作业

    为了记录我的Python课,将我的作业发上来,欢迎各位大佬评鉴.如果你有什么更好的想法,请在下方评论或联系我.谢谢! 作业一:苹果.李子.橙 描述 1只苹果4元,1只橙子3元,4只李子1元,给你n元( ...

  9. 基于Python近红外光谱分析与机器学、深度学习方法融合技术

    基于Python近红外光谱分析与机器学.深度学习方法融合实践技术 一,python入门基础 二,Python进阶与提高 三,多元线性回归及其在近红外光谱分析中的应用   四,BP神经网络及其在近红外光 ...

最新文章

  1. Hadoop生态圈-hive五种数据格式比较
  2. CCAH-CCA-500-4题:Where are Hadoop task log files stored?
  3. 阿里新框架发布!干掉Spring Cloud,换下Dubbo,微服务王者来了!
  4. 做转录组测序前需要知道的那些事
  5. idea查看ruby代码_Ruby实现命令行中查看函数源码的方法
  6. JZOJ__Day 7:【普及模拟】max
  7. python3 readline,Python3:readlines 或者 enumerate 是否会导致文件流为空
  8. Spring @RequestParam批注
  9. android oreo 开机动画,Android O添加了一个 Splash Screen API帮助简化启动屏制作
  10. LINUX负载均衡LVS-NAT搭建
  11. [Java工具] 邮件发送工具
  12. 任天堂的好日子還會繼續嗎﹖
  13. 百度算法频频更新,草根站长的出路何在?
  14. 深度学习笔试、面试题 一
  15. swagger注解类说明
  16. c语言发生错误文件无效或损坏,VC2010编译时提示:转换到 COFF 期间失败: 文件无效或损坏...
  17. kata containers调研
  18. GNS3 完全使用手册
  19. java根据出生日期计算年龄_Java 根据出生日期获得年纪
  20. Linux下C/C++实现以十六进制的形式显示命令(xxd)

热门文章

  1. 数据挖掘与机器学习经典书目
  2. 网页marc数据采集器(国图marc数据批量下载)
  3. MySQL 学习笔记——基础 DQL 查询语言
  4. SCSI PRs命令研究总结3 - Linux中的SCSI相关实现
  5. 区块链日记——【译】用Java创建你的第一个区块链-part2:可交易
  6. 换手率研究精解(转载)
  7. [唐诗]秋夜喜遇王处士-王绩
  8. altera系列fifo和ram
  9. hive报错return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask
  10. 计算机网络/谢希仁(第八版)第一章习题