写给小白的工程师入门 - 从 Python 开始

题图:pexels

这是我面向小白写的 Python 编程教程的第一篇。周三已经抓勺子同学上完了这节课,得到了很多珍贵反馈,于是我把讲义初版又修改了一遍,放到⌈影子练习SinanTalk⌋上来。

原本有想法招募一个 ⌈给小白的工程师入门 - 从Python开始⌋ 的在线学习实验小班,不为赚钱,只是想实践下自己的编程教学思路。但后来和勺子讨论过后,我也同意我的设想太过苛刻——我想找到 大概率可以坚持学习 Python 编程一年及以上 / 有长期 (指一年以上) 目标 / 但无短期急功近利想法 的同行小伙伴们。我明白人群中一定存在着这样的人,可我的个人影响力尚小,也无太多精力可以用在这件“不务正业”的事上。于是,就决定只对勺子同学一对一授课,把每次修改过的讲义发到这儿来,供更多有心的读者参考。

如果你认可这篇教程的价值,欢迎点赞、分享给更多人!有看不懂的地方也可以留言或者加我的个人微信(LynnTang_)问询。越多关注,作者就越多动力及时更新呐 😊


                 写给小白的工程师入门 - 从 Python 开始

macOS 版本

因为简书编辑页面代码不友好,没有代码块格式,所以我都用引用格式代替。产生混淆的地方请读者到原文链接查看完美编辑版 :P


第1节  基本开发环境设置

a. 学会使用基本命令行

   ❍ 命令行的基本设置

在键盘上点击 ⌘Space ,用 Spotlight 呼出 Terminal。

一开始对于 Terminal 这个东西理解困难的读者,可以把它想象成一个壳(shell),在这个壳里,你可以写命令(command),这些命令直接发给电脑,电脑收到特定命令会执行特定行为,比如打开或编辑某个文档。

——那为什么不直接去双击那个文档的图标来打开呢?

因为用命令行(command-line)快很多!编辑一个文本或许看不出效率的差异,但要想编辑一百个文本的话,一个个地去用鼠标双击打开再编辑保存关闭……是很累的。但使用命令行的话,不管是一个还是一百个,所用时间和需要的操作都差不多。工程师是很懒的人,能逃掉重复步骤的地方就想方设法地要逃掉。

最后,Terminal 只是承载了这个壳(命令行工具)的 APP 的名字。你还可以像我一样下载其他类似的 APP,比如程序员都爱用的 iTerm (https://www.iterm2.com) , 功能更加强大。

愿意通过提高 Terminal 的外观来提高工作效率和愉悦程度的人,应该选择给 Terminal  换个皮肤:

我用的是这个:◦ Spacegray (https://github.com/wtanna/Spacegray-OSX-Terminal-Theme)


再换个字体。其实字体很重要,除审美和健康需求外,好的字体还可以提高工程师的工作效率。

选择字体的基本原则是“等宽”。等宽字体(如 Courier New)对中文友好,可以轻易辨识出“全角/半角”字符。

除此之外,是否能清楚区分易混淆的字符也是选择字体的重要因素。

常见易混淆字符:

数字0  vs  字母O

数字1  vs  大写字母I  vs 小写字母l  vs  运算符|

数字9  vs  字母q

分号;  vs  冒号:

……

我用的是 Courier New。


顺便把字号设置得大一点,具体多大视自己电脑屏幕尺寸而定——顺便提一句,有研究表明,电脑屏幕越大,人的效率就越高。所以,一块儿大屏幕还是很值得投资的。

设置 Terminal 的字体字号可以在 Preferences > Profiles > spacegray > Text > Font 中找到。


  ❍ 查看是否已经安装 Python,以及 Python 版本(mac/ Linux 已内置 Python2.7,windows 需下载)

在命令行输入:

python --version

若返回了类似于 "Python 2.7.10" 的信息,则已有 Python 2.7.

Python 2.7 与 Python 3.6 是最重要的两个 Python 版本。Python 3.6 更新,但 Python 2.7 也依然常见。

两个版本的差别不是特别大,Python 2.7 的网络学习资料更多,但直接从 Python 3.6 开始后面就不用再适应不同版本之间的差别了(当然,以后还有会 Python 4,5……)。


  ❍ 安装最新版 Python 3.6

两种方法,第一种直接从命令行安装(看起来更像工程师),依次复制粘贴以下5行代码到 Terminal(一个字母或空格都不能错):

xcode-select --install     #安装 XCode Command Line Tool

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"   #安装 Homebrew

curl -O https://raw.githubusercontent.com/donnemartin/dev-setup/master/.bash_profile

echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile

brew install python3       #用 Homebrew 来安装最新版 python

# 及后面的内容为备注(同一行内),不需要粘贴入 Termimal(写了也会被忽略)。

小白肯定看不懂大部分指令的含义,不过此时不需要深究,先把目的达到再说,以后会慢慢明白的。

第二种安装方法即传统安装,去 Python 官网下载页 (https://www.python.org/downloads/mac-osx),下载需要的版本。接下来跟着指示一步步走即可,参考安装文档 (https://docs.python.org/3/using/mac.html)。


   ❍ 在命令行以交互模式写 Python 代码 

直接在 Terminal 中输入:

python

这样一般使用了默认的 Python 2.7 版本,如果想用 Python 3.6,可以这样:

python3.6

当看到光标出现在 >>> 之后,就可以输入你的第一行 Python 代码啦!

print "Hello World"      #python 2.7

print("Hello World")   #python 3.6

# 及后面的内容为备注(同一行内),会被 Python 编译器直接忽略。

看到返回了 Hello World 即为成功!


b. 工程师的编辑器

    ❍ 使用命令行和文本编辑器来运行 Python 脚本 

有时我们需要运行多行的代码时,直接在 Terminal 中一行一行地输入会很不方便,这时选择用文本编辑器来写代码、用命令行工具运行写了代码的文本(称为脚本 script),就会方便很多!

工程师爱用的编辑器很多,Atom, SublimeText, vi/vim ……我们不参与任何编辑器或编程语言之间比较的争论,就以Atom为例来看一下如何从命令行运行 Python 脚本。

   ❍ 安装 Atom

在 Terminal 中输入以下两行代码:

brew tap caskroom/cask     #安装 brew cask

brew cask install atom        #下载 atom

或者也可以按传统方式安装,去 Atom 官网 (https://atom.io) 下载,打开后拖到Applications目录去。

   ❍ 体验 Atom 

有了 Atom 后,可以通过 Spotlight 打开一个 Atom 空白文档,打上我们之前已经见过的第一行 Python 代码:

print "Hello World"      #python 2.7

print("Hello World")     #python 3.6

点击 ⌘S 保存脚本,可以取名为 test.py(注意 Python 脚本的扩展名为.py)。保存为 Python 脚本后可以看到代码变彩色了(这就是文本编辑器提供的 syntax highlighting 功能),变得更易辨识。

   ❍ 用命令行运行 Python 脚本 

接下来回到 Terminal,如果还停留在之前 Python 编译器的页面,可以点击 ⌘T 打开一个新的空白页(new tab),接下来输入:

python Path-To-Your-Script/test.py   #使用 python 编译器打开刚写好的脚本;将‘Path-To-Your-Script’替换成你刚写的脚本的路径

(不知道一个文件保存在哪儿了的话,可以去到那个文件所在的文件夹,⌘C 复制该文件,再 ⌘V 粘贴到 Terminal,就能看到该文件的路径了。)

此时若在 Terminal 里看到 Hello World 就说明操作成功啦!


c. 认识 IDE:安装使用 PyCharm

Integrated Development Environment (IDE),中文为集成开发环境,可以理解成集合了以上我们使用的文本编辑器、命令行工具与文件管理的开发软件。与单纯使用文本编辑器或命令行相比,IDE 更“有条理”,辅助工具更多,也更好上手编程。

让我们用通过一个主流的 Python IDE - PyCharm 来体验下 IDE 吧。

在 Terminal 里输入:

brew cask install pycharm-ce     #-ce 表示免费的 community 版本

等安装结束之后,可以尝试直接在 Spotlight 呼出 PyCharm。

当然也可以按传统安装软件的方式,去 PyCharm 下载页面 (https://www.jetbrains.com/pycharm/download/#section=mac),下载 Community 免费版本,再拖到Applications目录去……


  ❍ 体验 PyCharm

接下来打开 PyCharm,需要设置一下,基本都可以按默认设置点到最后。PyCharm 的主窗口出现后,左侧已经初始化了一个名叫 untitled 的 project,可以右键点击该名称 New > Python File 换个名字(比如 MyFirstPythonProject)。

再次右键点击该 project 的名称,选择 New > Python File,在这个 project 目录名下新建一个 Python File,再取个名 test.py(注意:因为已经选择了新建 Python File,所以在这儿不需要加 .py 的扩展名)。

现在,在空白的 test.py 编辑区打下我们已经很熟悉的第一行 Python 代码吧:

print "Hello World"        #python 2.7

print("Hello World")      #python 3.6

PyCharm 会自动保存所有改动,所以不需要再手动敲保存键。

你可能已经注意到 PyCharm 自动把输入的代码变成了彩色——其实 PyCharm 还会帮你自动缩进、自动补全固定表达、自动检查语法错误……就像智能输入法!虽然特别便捷,但对于新手来说,弊端很明显:你本很可能犯错的地方都被提前预防了,这其实是在躲避你应掌握的编程知识。如果突然切换到普通文本编辑器或者命令行甚至手写代码时,新手才会发现,原来没了“智能输入法”的辅助,自己连基本语法也不能100%写对。


来看一下运行结果:点击 ⌃⌥R 会看到一个小窗口跳出来,让你选择要运行哪个文件(此时只有 test 可以选择),选中 test 后,就会在 PyCharm 窗口下方看到运行结果啦!


第1节 - 作业:

  ❍ 熟练本节的知识点和操作;

  ❍ 熟练 Terminal / Mac 的基本快捷操作,最好打印下来贴起来,每天都背几行;

  ❍ 思考:三种不同的 Python 编程方式有什么区别与优势呢?


第1节 - 小结:

我们了解了基本的命令行操作,安装了一些工程师的必备工具;

我们还尝试了三种不同的 Python 编程方式:命令行的交互模式,用文本编辑器与命令行配合,还有在 IDE 中编程;

虽然小白肯定会对很多细节半知不解,但慢慢来,以后都会掌握的。


谢谢你的阅读!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容