|
|
|
|
移动端

该如何迈出 Python 学习第一步?

原作者William Koehrsen是一名应用数据科学研究员、超级马拉松亚军,本文是他学习Python的入门心得,或许能够帮助迟迟未行动的你。

作者:郝鹏程、王雅琪来源:36Kr|2018-02-10 11:24

开发者盛宴来袭!7月28日51CTO首届开发者大赛决赛带来技术创新分享

编者按:朋友圈转发过的Python学习教程是否已经被你遗忘在收藏夹里?原作者William Koehrsen是一名应用数据科学研究员、超级马拉松亚军,本文是他学习Python的入门心得,或许能够帮助迟迟未行动的你。

回忆我的第一个Python程序

出于怀旧的缘故,我想分享我两年前的第一个Python程序。我最初学习Python,只是作为一名航空航天工程专业的学生想要逃避学习Spreadsheets(电子表格制作软件),而我也不知道怎么就选择了Python。

我的Python教育始于Al Sweigart 的“ Automated the Boring Stuff with Python”一书 ,它是一本出色的程序入门书籍,教你用简单的程序来完成有用的任务。当我学习一个新的课程时,我会寻找使用它的机会,试图用Python解决一个新问题。

在第一个作业之前,我非常渴望得到这本价值200美元的书,但我连租金20美元都付不起。我看到亚马逊有一个免费的一星期试用机会,便通过亚马逊,拿到了这本书一个星期的使用权、完成了作业。虽然我可以每次需要都创建一个新账户,但太麻烦了。我想出了一个更有效的方法,利用Python进行了一次编程。

Automate the Boring Stuff中的许多有用的库之一是pyautogui,它允许你通过Python控制键盘和鼠标。有人说,当你有一把锤子,每一个问题看起来就会像一个钉子。

Python和pyautogui将允许我按箭头键,并截图,解决了“书本无限免费看问题”。

我写了第一个程序,自动翻阅书中的每一页并截图。虽然只有10行,但我却非常自豪!

以下是本次代码的全部内容:

导入pyautogui

导入时间

#睡5秒钟,让我打开书的时间

sleep.leep(5)

#范围可以根据页数(1000)进行更改:

for i in range(1000):

#翻页

pyautogui.keyDown('right')

pyautogui.keyUp('right')

#保存截图

pyautogui.screenshot('images / page_%d.pdf'%i)

time.sleep (0.05)

运行程序非常简单(我鼓励任何人尝试)。我将脚本保存为book_screenshot.py,然后在同一个文件夹中拉出一个命令提示符并键入:

python book_screenshot.py 

然后,我会有5秒钟翻转书,并把它放到全屏。该程序将完成剩下的工作,浏览每个页面并截取保存为pdf的截图。然后,我可以把所有的pdf文件合并成一个文件,并且有一个(虽然合法性可疑)这本书的副本!诚然,这是一个不够尊重版权的副本,但却是我为了看书不得不采用的方法。

这个例子展示了我学习新技能两个关键点:

1、学习新技能的最好方法就是找到需要解决的问题!

2、在有用之前,您不需要完全掌握一项技能。

只需要几行代码和一本免费的在线书籍,我就写了一个我实际使用的程序。学习基础知识可能会很乏味,因为我会陷入了数据结构和循环中难以解脱。我第一次学习Python的尝试在几个小时内就失败了。而当我改变策略,开始为现实问题制定解决方案后,最终学习到了一些基本原理。

在编程和数据科学领域有很多东西需要掌握,但是你不需要一次学习所有东西。选择一个你需要解决的问题,开始吧!

编后语:欢迎想要学习Python的入门伙伴和大神朋友畅谈自己写的第一个Python程序!

【编辑推荐】

  1. DB-Engines 2 月全球数据库排名:MongoDB 爆发
  2. 有个厉害的程序员女朋友是什么体验?
  3. 外媒速递:2018年Web开发者必须关注的顶尖Python框架
  4. 苹果中国宣布新iCloud中心:国人数据都留国内
  5. Oracle在云市场虚张声势,掩饰其在数据库的绝望
【责任编辑:张燕妮 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢
24H热文
一周话题
本月最赞

读 书 +更多

敏捷Acegi、CAS:构建安全的Java系统

本书是关于Acegi、CAS的权威教程,是Java/Java EE安全性开发者的必备参考书。无论是Java EE安全性编程模型的背景和基础知识,还是Acegi、CA...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊