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

这张图流传甚广,但我没有找到明确的出处,图片上附带了 UliPad 的作者 Limodou 的信息,很有可能是原作者。如有知情者可留言告诉我。
其实,说看了这张图就能学会 Python 显然过于“标题党”,如果你有类似的速成想法也请尽早摒弃。但这张图的价值在于,用一段简单的代码,将 Python 的许多基础知识点都涵盖在了一起。如果你是个 Python 初学者,刚看了一些入门教程,对基础有一些了解之后,可以对照这张图回顾下相关的知识点,看看自己能不能讲出里面每一个标注的含义。
不过这张图是基于 Python 2 的(虽然影响也很小),所以我做了几个注释,也就是图上的几个数字,对内容做一点点补充说明:
- 关于编码,并不是一定要 UTF-8,而是要求“一致”,这点在 Windows 上使用 Python 2 尤其要注意。如果你需要读写系统文件,或者从命令行获取输入,可能设置为 Windows 默认的 GBK 反倒会更方便。
- Python 3 的 print 方法是一个函数,需要加上括号进行调用,比如
print('Hello World')。要注意的是,如果 print 后面是计算式,也要全部放在括号里,比如print('%s加%s等于%s'%(param1,secondParam,res))。 range()方法在 Python 3 里返回的不再是列表,而是一个 range 对象,相当于一个迭代器。但用在 for 循环遍历时写法没有区别。- Python 3 提供了一种功能更丰富的字符串格式化方法
.format()。 - Python 比较数值时可以链式比较,如
42 < res < 50,但如果要用 and 或者 or 的时候,必须写成res == 42 or res == 50,不能省略成res == 42 or 50。 - 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的更多相关文章
- 他学习一年Python找不到工作,大佬都说你别再学Python了!
引言: 都说,滴水穿石非一日之功.然而有些人即使奋斗一辈子也比不上别人一年,别人学习一年比不得你学习一个月.其中缘由,有些人看了大半辈子还没看明白. 即使Python这么火,为何你学习一年的Pytho ...
- 数百种编程语言,而我为什么要学 Python?
是应用率最高.长期霸占排行榜的常青藤 Java?是易于上手,难以精通的 C?还是在游戏和工具领域仍占主流地位的 C++?亦或是占据 Windows 桌面应用程序半壁江山的 C#?…… 我想,每个人可能 ...
- 小白学 Python(3):基础数据类型(下)
人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 前面我们介绍过了数字,本篇我们接着聊另一个常用的基础数据类型:字符串. ...
- 小白学 Python(15):基础数据结构(集合)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(24):Excel 基础操作(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python 爬虫(16):urllib 实战之爬取妹子图
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 小白学 Python 爬虫(17):Requests 基础使用
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 小白学 Python 爬虫(18):Requests 进阶操作
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 小白学 Python 爬虫(19):Xpath 基操
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
随机推荐
- CPU使用率过高怎么办
实际上前文中关于CPU使用率过高如何通过各种工具获得相关的热点进程.那么进程有了,那得疑惑到底哪个哪段代码导致了这个进程成为热点呢? 如果在调试阶段,可以使用gdb中断运行,但是在生产环境肯定不行.L ...
- 定制Centos7.9镜像
Ps:因为工作内容:有一部份是需要重装系统:系统版本镜像为centos7.9.可每次装完都需要下载一些基础包:最近因为设备过多:网卡名称太乱:导致做后续配置太繁琐:不规整:索性自己定制个系统: 搭建基 ...
- 基于nodejs的阿里云DDNS服务,支持多网卡绑定
前段几天写的,自用. 想着也许有和我一样需求的同学,所以开源发出来了. 提供阿里云的DDNS设置,支持多网卡多域名绑定. 特性 支持阿里云DDNS设置 支持针对多个线路多个网卡单独设置域名 支持IPv ...
- vmware 16 pro 安装macos
VMware 16 安装 MAC OS 10.13 原版(详细图文教程)关于虚拟机安装苹果系统的教程网络上有很多, 有些适合自己, 有些则不适合(教程中的版本老旧或工具资源消失), 在安装成功后选择用 ...
- 45个 GIT 经典操作场景,专治不会合代码
大家好,我是小富~ 技术交流关注公众号:程序员内点事 传送门:原文地址 git对于大家应该都不太陌生,熟练使用git已经成为程序员的一项基本技能,尽管在工作中有诸如 Sourcetree这样牛X的客户 ...
- linux中()、[]、{}、(())、[[]]等各种括号的使用
转至:https://www.jianshu.com/p/b88c7e07aaa9 linux中().[].{}.(()).[[]]等各种括号的使用 1.小括号.圆括号() 1.1 单小括号() 命令 ...
- Java基础--序列化和反序列化
作用:在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存.比如最常见的是Web服务器中的Session对象,当有 10万用户并发访问,就有可能出现10万个Sessi ...
- Service层抽象规范
Service层是整个web系统的负责业务逻辑一块,最有必要实现抽象,Service层要达到复用性,低耦合性.那么该如何抽象呢?一般遵循以下原则 1.单一职责(SRP) 2.开放-封闭(OCP) 3. ...
- Java、Python语法区别,不断更新
基本语句.文件方面 Java中的字符是单引号,字符串是双引号:Python则是单双都可以 Java语句结束有分号;,Python没有(写分号也正确) Java中程序执行需要有main函数,Python ...
- MM32F0020 UART1中断接收和UART1中断发送
目录: 1.MM32F0020简介 2.初始化MM32F0020 UART1和NVIC中断 3.编写MM32F0020 UART1使能中断发送函数 4.编写MM32F0020 UART1中断接收和中断 ...