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

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

 编者按:朋友圈转发过的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程序!

责任编辑:张燕妮 来源: 36Kr
相关推荐

2013-12-16 11:25:55

开源开源社区

2020-07-22 22:10:34

互联网物联网IOT

2009-01-18 08:49:04

Java入门JDK

2022-10-20 14:29:25

2017-03-29 21:01:22

微软开源

2010-01-21 10:29:54

java认证

2012-04-13 16:40:16

豌豆荚

2017-06-14 17:18:52

容器DevopsDocker

2015-10-28 22:25:45

SwiftAndroid应用开发

2013-05-27 09:42:33

IEEE802.3以太网400G以太网

2021-01-15 18:17:06

网络协议分层

2014-12-25 09:26:59

Docker容器创建容器管理

2012-07-11 16:43:14

飞视美

2013-01-15 09:17:11

2013-04-03 14:25:22

虚拟化网络网络应用网络架构

2021-09-30 16:05:04

显卡虚拟货币芯片

2015-11-03 15:02:23

技术周刊

2015-06-02 11:42:00

Cloud FoundAzure

2021-08-24 05:07:25

React

2019-11-20 10:54:46

无密码身份验证网络安全
点赞
收藏

51CTO技术栈公众号