网上有这样一张图片,信息量很大,通常会被配上标题“一张图让你学会Python”:

这张图流传甚广,但我没有找到明确的出处,图片上附带了 UliPad 的作者 Limodou 的信息,很有可能是原作者。如有知情者可留言告诉我。

其实,说看了这张图就能学会 Python 显然过于“标题党”,如果你有类似的速成想法也请尽早摒弃。但这张图的价值在于,用一段简单的代码,将 Python 的许多基础知识点都涵盖在了一起。如果你是个 Python 初学者,刚看了一些入门教程,对基础有一些了解之后,可以对照这张图回顾下相关的知识点,看看自己能不能讲出里面每一个标注的含义。

不过这张图是基于 Python 2 的(虽然影响也很小),所以我做了几个注释,也就是图上的几个数字,对内容做一点点补充说明:

  1. 关于编码,并不是一定要 UTF-8,而是要求“一致”,这点在 Windows 上使用 Python 2 尤其要注意。如果你需要读写系统文件,或者从命令行获取输入,可能设置为 Windows 默认的 GBK 反倒会更方便。
  2. Python 3 的 print 方法是一个函数,需要加上括号进行调用,比如 print('Hello World') 。要注意的是,如果 print 后面是计算式,也要全部放在括号里,比如 print('%s加%s等于%s'%(param1,secondParam,res))
  3. range() 方法在 Python 3 里返回的不再是列表,而是一个 range 对象,相当于一个迭代器。但用在 for 循环遍历时写法没有区别。
  4. Python 3 提供了一种功能更丰富的字符串格式化方法 .format()
  5. Python 比较数值时可以链式比较,如 42 < res < 50 ,但如果要用 and 或者 or 的时候,必须写成 res == 42 or res == 50 ,不能省略成 res == 42 or 50
  6. Python 的内置方法都是前后各两个下划线,不要错写成一个,那样就会被当做新的自定义方法而不被调用。

以上我加的这几点,都是以往很多初学者会遇到的坑,供参考。

除了上面这张图之外,还有一张很赞的图,是一张 Python 3 的知识点思维导图

这张图来自一个叫做 Python3 in one pic 的项目,项目中除了这张图,还有 IPython Notebook 版的演示程序,地址:

https://github.com/coodict/python3-in-one-pic

这张图就比较详细了,几乎涵盖了 Python 3 入门的方方面面。如果你对图上的每一条都清楚,那么在 Python 语法层面可以说是非常熟练了。

为了方便阅读,我把图切割并标注了一下:

完整图片请进入项目 Github 查看。(也可以公众号 Crossin的编程教室 里回复关键字

你可以把这张图打印出来,随时翻阅。但我还是多唠叨一句:这个只是语法的提纲,只看这个是没法写出程序的,要学会编程还是要靠不停地写代码。学了语法之后,跟着我们编程教室里的各种练习、案例一起写起来!

════

其他文章及回答:

如何自学Python | 新手引导 | 精选Python问答 | Python单词表 | 人工智能 | 爬虫 | 我用Python | requests | 计算机视觉 | 字符播放器

欢迎搜索及关注公众号:Crossin的编程教室

一图学Python的更多相关文章

  1. 他学习一年Python找不到工作,大佬都说你别再学Python了!

    引言: 都说,滴水穿石非一日之功.然而有些人即使奋斗一辈子也比不上别人一年,别人学习一年比不得你学习一个月.其中缘由,有些人看了大半辈子还没看明白. 即使Python这么火,为何你学习一年的Pytho ...

  2. 数百种编程语言,而我为什么要学 Python?

    是应用率最高.长期霸占排行榜的常青藤 Java?是易于上手,难以精通的 C?还是在游戏和工具领域仍占主流地位的 C++?亦或是占据 Windows 桌面应用程序半壁江山的 C#?…… 我想,每个人可能 ...

  3. 小白学 Python(3):基础数据类型(下)

    人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 前面我们介绍过了数字,本篇我们接着聊另一个常用的基础数据类型:字符串. ...

  4. 小白学 Python(15):基础数据结构(集合)(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  5. 小白学 Python(24):Excel 基础操作(下)

    人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...

  6. 小白学 Python 爬虫(16):urllib 实战之爬取妹子图

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  7. 小白学 Python 爬虫(17):Requests 基础使用

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  8. 小白学 Python 爬虫(18):Requests 进阶操作

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

  9. 小白学 Python 爬虫(19):Xpath 基操

    人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...

随机推荐

  1. Solution -「Tenka1 2019 D」Three Colors

    \(\mathcal{Description}\)   Link.   给定 \(\{a_n\}\),把每个元素划分入可重集 \(R,G,B\) 中的恰好一个,求满足 \(\sum R,\sum G, ...

  2. Solution -「LOCAL」客星璀璨之夜

    \(\mathcal{Description}\)   OurOJ.   给定坐标轴上的 \(2n+1\) 个坐标 \(x_1,x_2,\cdots,x_{2n+1}\),其中偶数下标的位置是一个小球 ...

  3. fork_join

    在systemverilog中可以用fork-- join.fork --join_any.fork--join_none来实现多个线程的并发执行. 1.父线程.子线程 调用fork--join的线程 ...

  4. axios请求方式

    `// 使用默认进行请求(默认是get) axios({ url: "http://localhost:9999/student/student/getAllStudent" }) ...

  5. MShadow中的表达式模板

    表达式模板是Eigen.GSL和boost.uBLAS等高性能C++矩阵库的核心技术.本文基于MXNet给出的教程文档来阐述MXNet所依赖的高性能矩阵库MShadow背后的原理. 编写高效的机器学习 ...

  6. 轩辕展览-为什么要做VR虚拟展厅设计?

    沉浸感,有趣和互动体验VR虚拟展厅设计给客户带来高度的沉浸感和互动体验,给客户一种真实的感觉,让客户更愿意参与,使商家的宣传更加客观. 展示方式多样化 ,增加宣传优势在展示产品或企业时,VR全景可达到 ...

  7. FireWall、UTM、GAP、抗DDOS防火墙

    1.信息安全产品分类 1)美国标准分类(NIST-SP800-36) NIST SP800系列标准 SP800是美国NIST(National Institute of Standards and T ...

  8. stegsolve.jar压缩包打开和使用方法

    1.stegsolve.jar下载 下载地址:http://www.caesum.com/handbook/Stegsolve.jar 2.stegsolve.jar打开方法 (1)需要下载java并 ...

  9. 基于IEC61499标准的组件

    IEC 61499标准通常用于开发分布式控制系统.IEC 61499定义了功能模块(FB, function block)的模型.有三种FB,分别是Basic FB (BFB),Service Int ...

  10. Codeforces Round #769 (Div. 2)D,E

    D.New Year Concert 传送门 题目大意: 一个长为 N ( 1 ≤ N ≤ 2 × 1 0 5 ) N(1\leq N\leq2\times 10^5) N(1≤N≤2×105)的序列 ...