首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

人生苦短,我用Python——Python自学的一点感想

最近陆续回答了一些有关Python的问题,其中“中年人一个,想自学python学哪本书好?”的回答阅读量比较多,反映出学习Python的人群里,不仅有年轻人,也有许多和我一样的中年人。

一般到了中年这个阶段,大家已经有了一套自己的学习方法,都能很快找到学习Python的节奏。我会把自学Python的一点体会写下来,希望能给大家一个参考,借鉴,少走弯路,选择一条最适合自己的Python学习之路。

01 为什么学Python?

相信能进来看这篇体会小文的人,都是因为工作或者兴趣要学习Python,不是盲目地,不过我还是啰嗦几句Python的前世今生,已经了解的朋友可以略过。

1991年,荷兰人Guido van Rossum创造出了Python这门程序语言,名字的来源于他特别着迷的一部BBC喜剧系列Monty Python's Flying Circus。

Python的设计理念是“简单”、“明确”、“优雅”。

相对于其他编程语言来说,Python易于学习,它的着重点放在如何解决问题上,而不是语法和结构。正因如此,越来越多的初学者选择Python作为编程的入门语言。山东省在最新出版的小学信息技术六年级教材中,加入了Python的内容。浙江省从2018年起,信息技术教材编程语言从vb更换为Python。

作为一种解释型语言,Python更强调代码的可读性和简洁的语法。采用空格缩进标识代码块,减少毫无用处的大括号,去除句末的分号等,显著提高代码的可读性。例如:

常见于C++的这对大括号的直接去掉,同样的缩进标识出代码块,即使没有接触过编程的人也可以很快读完程序,无需考虑复杂的语法。

Python有非常多的模块库。基本上标准库就能解决各类问题,开发效率很高。相对于C++和Java等其他语言来说,Python可以让我们用更少的代码实现想法,同样的功能Python的代码只有C++和Java的20%到30%。

Python的开发效率高,就能让产品快速迭代,满足需求。像YouTube、Google、Yahoo!、NASA都在内部大量地使用Python,国内知乎、豆瓣网站也基于Python开发。

随着近年来许多公司首选Python来开发人工智能项目,Python也越来越火爆。根据ranked.com的排名,2017年,最受欢迎的人工智能编程语言是Python,第二是C++。

Python很简洁和易于学习,初学者几乎可以立刻学会这个语言,并马上能完成一些很有意思的事,不会因为编译或语法复杂失去学习的兴趣。比如建个人网站,抓取数据进行分析等等。

学以致用,在Python这里展现得淋漓尽致。

正因为Python的简单易学和开发效率高,我们选择了Python,并用于人工智能、Web 开发、网络编程、数据分析、科学计算等领域。

02 怎么学Python

选一本合适的入门书,在Python官网进行辅助学习。

比如《“笨办法”学Python》(Learn Python the Hard Way)

国内可以买到的中文版是基于Python2的第三版,知乎上有赵默水发布的Pyton3的中文译本,可以在线阅读。

这本书以循序渐进的方式介绍Python的基本语法和编程思想,由浅入深,由易到难,非常符合认知规律。书里一共设置了52个练习,可以边学习,边实践,了解Python的输入输出、变量、函数,以及条件判断、循环、类和对象等。

这本书怎么看?

我平时工作很忙,没有大块时间可以看书,只能充分利用碎片时间,比如工作间隙、饭后、通勤路上等等。

做笔记,划重点,前面的章节篇幅非常短,看完只要几分钟,在理解基础上,结合习题内容进行些拓展。

做习题不着急在电脑上敲代码,写到本上,或者电脑的记事本记下思路,画个流程图。

晚上有时间时,在电脑上完成代码的输入,检查并运行。

有人可能会说,那么简单的程序,画什么流程图啊?其实不然,从简单的流程图开始,熟练了,复杂的程序流程图,才能驾轻就熟地画出来。

画流程图也是一个整理思路的办法,配合用思维导图来构建自己的Python知识树,很有帮助。

看这本书,不求快,把基础夯实,只要独立完成这本书的学习,入门是没问题的。

看书的同时,通过Python官网拓展相关内容,比如函数、库等等的用法。

遇到难题,先想后问,一个办法不行,换一个试试。

多看、多想、多练,坚持不懈,要不了多久Python基础部分就拿下了。

剩下的就是选择一个方向来深入学习了。

03 打破思维定势和舒适区

工作时间长了,猛然学习新东西有可能会效率不高,从而对自学有畏惧或者逃避。这也没什么关系,毕竟学新东西是在相对陌生的领域去做钻研,离开了自己的舒适区。这时候就要坚持了,千万不能放弃,不能懈怠。

我在看装饰器时,因为很多地方说得不够透彻,基本算是一笔带过,网上查资料也是众说纷纭,没有特别好的解答。什么类,什么对象,很笼统,怎么办?我是先绕过装饰器这个老虎,用“笨办法”,无非是代码多写一些,先解决问题再说。总之不能就此放弃。

我记得在初中有篇课文是华罗庚谈统筹学,印象特别深,不知大家还有记得那篇课文的吗?

在Python编程过程中,也会有很多类似的问题出现,可以画画流程图,列出可能性,选择一个最好的方法,用最少的时间完成预订目标。

以烧水泡茶为例,它需要做4项工作,即洗好开水壶,洗好茶杯,准备茶叶,冲开水泡茶。

要完成这几项工作,可以有以下几种程序:

1.洗好开水壶,灌上凉水,放在火上,等待水开;水开后,再洗茶杯,准备茶叶,冲水泡茶。

2.先洗好水壶,洗好茶杯,放好茶叶,一切就绪,再放水烧水,水开后再冲水饮茶;

3.洗净开水壶,灌水烧水;烧水过程中,洗茶杯,放茶叶,水开后泡茶喝。

如果在烧水等待水开的过程中,做好洗杯子放茶叶等等准备工作,就可以节约时间。

这也是最基本的算法之一,算法就是另外的话题了。

04 编程工具和外语

用什么工具来写Python代码都没关系,只要选择自己熟悉、顺手的就行,把注意力集中在代码上,不要浪费太多精力在环境配置上。

Sublime Text 3, vi, PyCharm等等都可以。

这三样我都在使用,简单的vi最方便,在一个iTerm窗口里编辑,另外一个iTerm窗口运行。

很多书和资料都是英文的,减少了中间翻译的环节,理解更清晰些。

今天先写到这里,疏漏的地方见谅。

谢谢观看。

欢迎关注公共号“时光知行”。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180208G094M200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券