一张图让你学会Python,学习Python的简单,小白的福利
网上有这样一张图片,信息量很大,通常会被配上标题“一张图让你学会Python”:
点击图片可查看大图

这张图流传甚广,但我没有找到明确的出处,图片上附带了 UliPad 的作者 Limodou 的信息,很有可能是原作者。如有知情者可留言告诉我。
其实,说看了这张图就能学会 Python 显然过于“标题党”,如果你有类似的速成想法也请尽早摒弃。但这张图的价值在于,用一段简单的代码,将 Python 的许多基础知识点都涵盖在了一起。如果你是个 Python 初学者,刚看了一些入门教程,对基础有一些了解之后,可以对照这张图回顾下相关的知识点,看看自己能不能讲出里面每一个标注的含义。学习资料也可以加下Python扣扣裙:3零4零5零799自己下载学习下
不过这张图是基于 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 语法层面可以说是非常熟练了。
为了方便手机上阅读,我把图切割并标注了一下:










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