小男孩儿的Python之旅(一):认识Python

Hi,小伙儿,这是咱们 Pythonn 之旅的第一篇文章。

首先,咱们看看这趟旅程的总体思路:

  1. 第一部分,计算机的基础知识。任何程序开发,都要对计算机的硬件和软件系统有一个基本的了解,这是编程的基础;
  2. 第二部分,编写第一个 Python 程序。咱们选择 Python 作为编程学习的开始,那它一定有些了不起的“特长”。当然,我们也要搭建一个最基本的编程环境,将学习到的知识,亲自编写并运行起来;
  3. 第三部分,了解 Python 的“工具箱”。任何程序,小到输出一句话,大到编写一个游戏或网站,都是由一些最基本的语句组成的。当然,这些语句要遵循一定的规则,也就是语法;
  4. 第四部分,了解 Python 的“积木”。在这个部分,咱们会学习函数和对象是什么东东,如何接收键盘的输入,程序出现异常的时候该怎么处理,等等。这些知识的确有一些难度了,但我相信咱们结合一些实际的例子,也能逐渐理解这一部分,不用担心;
  5. 第五部分,用 Python 做一些有意思的事。经过前面的学习,我们对 Python 算是有了基本的掌握,好比 1-3 年级,我们学习了很多的汉字、组词和成语,接下来就可以尝试读更复杂的文章,写更大段的作文了。我列举了几个初步的想法,比如编写一个乘法表,做一个小游戏,便一个自己的小网站,等等。这需要综合应用前面学到的知识,并付出更多的思考,但这个过程将是无比的有趣。

我画了一个思维导图:

小男孩的Python之旅

那么,让我们出发吧!


Python 之旅的第一部分,我们讲三个事情:

  1. Python 确实挺厉害
  2. 搭建 Python 的编辑和运行环境
  3. 第一个 Python 程序 —— “Hello World”

一、Python 确实挺厉害!

世界上到底有多少种编程语言,其实一直都没有标准的答案,据说有几千种吧,但主要使用的,其实只有大概几十种。即使在这几十种编程语言之间,流行程度也有很大的差别。下面是2022年5月份统计的编程语言流行度榜单:

编程语言排行榜(源自TIOBE编程语言排行榜)

要特别说明下,TIOBE 排行榜,仅仅代表流行度,并不代表语言本身的好坏。这就好比每个小朋友,都有他(她)的优缺点,不能简单的下结论。编程语言也是一样,有的领域很好用,换个领域就未必。比如 MATLAB,在数学家眼中就是极为好用的工具,但在网页设计师眼中,简直弱爆了。

在 TIOBE 榜单中,Python 排在第一名,是当前这个世界上最流行的编程语言。Python 的确有不少优点,我感觉,特别突出的有下面四点:

1. 用途广泛
Python 可以用在社会的方方面面,比如Web网站开发、游戏开发、大数据分析、科学研究、人工智能(AI)、网络通信、IT维护等等。世界上很多著名的程序都是由 Python 开发的,比如大名鼎鼎的图片和视频分享应用 Instagram,美国最大的娱乐、社交及新闻网站 Reddit、为世界服务的网约车平台 Uber、全球最大的云音乐应用 Spotify(和网易云音乐一样)……

用 Python 开发的著名应用程序

2. 效率极高
相比很多流行语言,编写同样功能,Python 包含的代码行更少,而且语法相对也更为简单一些。我们举个例子吧,分别用 Java 和 Python 编写一个最简单的程序 —— 在屏幕上输出 “Hello World”。

下面是使用 Java 编写的代码

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}

下面是使用 Python 编写的代码

print("Hello, World!")

另外,工整美观的程序代码,往往更容易让自己和其他人理解,这就是可读性。想象你作业中那些七扭八歪的部分,一定让老师很郁闷,有时候自己也忘了当时写的是什么。而可读性就体现了一种编程语言对效率的重视态度。咱们看看 Python 为了强制你写出规范和清晰的代码,都干了什么。

我们写代码的时候,会通过不同的缩进(本质上就是空格)来表示不同的代码片段,Python 中没有用其他编程语言中广泛使用的“花括号”,而是通过空格数量。在 Python 中,同一代码块的语句缩进必须完全一致,否则程序就会运行出错:“ IndentationError: unexpected indent” 和 “IndentationError: unindent does not match any outer indentation level”。因此说 Python 真是一个严格的好老师!

# 1. 同一逻辑层级,缩进空格数相同,没有问题
if True :
        print("You are right")  # 我是7个空格
        print("You are right")  # 我是7个空格
     
# 2. 同一逻辑层级,缩进空格数不同,编译错误
if True :
        print("You are right")   # 我是7个空格
         print("You are right")  # 我是8个空格
 
>>> IndentationError: unexpected indent

# 3. 缩进空格数和任何一个代码块都不能匹配,编译错误
if True :
    print("You are right")
else :
    print("You are wrong")
  
  print("Am I right")   # 我跟哪段逻辑都不搭界
  
>>> IndentationError: unindent does not match any outer indentation level  

3. 社区发达
Eric Matthes 在《Python 编程,从入门到实践》这本书中说了这样一段话:

我依然使用 Python 的一个最重要的原因是,Python 社区有形形色色充满激情的人。对程序员来说,社区非常重要,因为编程绝非孤独的修行。大多数程序员都需要向解决过类似问题的人寻求建议,经验最为丰富的程序员也不例外。需要有人帮助解决问题时,有一个联系紧密、互相帮助的社区至关重要,而对于像你一样将 Python 作为第一门语言来学习的人而言,Python 社区无疑是坚强的后盾。

正是因为社区的强大,因此你会发现,几乎任何稍微复杂一点的事情,Python 都有现成的库——程序库是一个重要的概念,我们在后面会单独来讲——这可以帮助我们节约不少的时间,比如数据计算和分析中使用到的 NumPy 和 SciPy,在 Web 开发中使用的 Django,还有一些极高专业度的库,如scikit-learn 适用于机器学习,而 nltk 适用于自然语言处理,等等。

Python 也有很多很棒的学习资料,比如 “菜鸟教程” 社区。

菜鸟教程社区 —— Python编程

其实,编程语言最好的学习资料,往往都是官网文档,但主要都是英文,所以,你需要一直好好的学习英文。

Python 官方指导

4. 一个好爸爸

Python 在全世界能够得到广泛的支持,强大的原因中,还有一个非常重要的因素,Python 还有一个“好爸爸” —— Google。

一种编程语言,就好比一个孩子,良好的成长需要长期的精心呵护与细致培养,而一个好的赞助商往往能帮助程序语言度过漫长的岁月。C# 的背后是微软,Java 的背后是 Oracle,PHP 的背后是 Facebook,而 Python 背后则是Google。Google 从 2006 年开始大规模使用 Python,并建立了一个 Python 的社区,提供免费的课程,包括练习项目演讲课件,相关视频等,也经常为 Python 打打广告。谁想“欺负” Python,得先过了 Google 这道关……

二、搭建 Python 的编辑和运行环境

从前,无论是 Python,还是 Java,或者是 PHP,我都会在自己的电脑上部署一个编程语言运行环境,然后再进行一些看起来比较繁琐的配置,最后往往还要安装一个庞大复杂的编程工具——IDE(集成开发环境)。今天,早已是云计算和互联网的时代,对于 Python 的学习,我们不必这么复杂,互联网能够帮我们解决很多难题,只需要我们拥有一台能够上网的电脑。

我们可以使用 TeamCode 在线编辑平台。我们在自己的电脑上什么都不必安装,只要有一个浏览器,就能够开始进行编程的学习,而且和在自己电脑上安装的IDE几乎是一样的体验。另外,在右上角也能够看到,这个平台也可以支持 Python、Java、PHP、Go、C/C++ 许多种编程语言。

TeamCode的在线编程平台

下面是在这个平台上编写和运行 Python 程序的截图

TeamCode的在线编程平台 —— Python IDE

不过,随着你学习的深入,我们在后面一定就会用到更强大的 Python 编写和运行的工具,我们管它叫做 IDE,也就是 Integrated Development Environment —— 集成开发环境。Python 有一个非常厉害的 IDE,叫做 PyCharm,只不过,咱们暂时先不会用到它。看看它的界面吧,比起上面提到的 TeamCode 在线编辑平台要复杂很多。

PyCharm界面

三、第一个 Python 程序 —— “Hello World”

好啦,打开在线编程平台,试着敲进下面的这个代码,然后点击右上角的“运行”按钮,Let's Go!

print("Hello, World!")
print("这是我的第一个Python程序,它非常简单,仅仅是输出一句话,^_^")

接下来,我们就要进入真正的 Python 编程之旅啦,加油,小伙儿!

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

推荐阅读更多精彩内容