本系列文章旨在让十岁左右的青少年或从未接触过编程的人能轻松愉快的理解并学会基本的编程方法和编程思想,所以并不会涉及复杂艰深的编程概念和技巧,如果你觉得有什么叙述和解释对于十岁左右的小朋友会造成理解困难,请留言提出意见。文章的部分思想和内容来自于一些国外网络公开课程的总结。
你为什么要学习编写程序?
编写程序(或编程)是一项非常有创造性和有益的活动。编写程序有很多作用,从数字计算,到文件处理,到解决困难的数据分析问题,控制复杂的机械。现在人类的很多事情都需要通过编程来让计算机解决。
我们的日常生活中充斥着各种电脑,从笔记本电脑到手机。他们可以代替我们处理许多事情。我们现在的计算机的工作方式简单来说基本上是为了不断向我们提出这样一个问题,你希望我下一步做什么?
,当然计算机并不会真的这么和你说话,计算机有他自己的方言
。
我们的计算机不仅速度快,而且记忆容量大,如果我们能用我们熟悉的语言向计算机解释我们希望它做的下一步的话,将对我们非常有帮助。有趣的是计算机做的最好的事通常是我们人类觉得无聊和麻木的东西,也就是大量的记忆数据和重复同样的劳动。
我们将学习一种与计算机沟通的语言,它叫Python
。在计算机的世界里有许许多多的语言种类,Python是一种面向对象、解释型、强类型定义、动态类型
的计算机程序设计语言,你现在并不需要全部理解这些对语言种类描述的含义,在学习的过程中你会慢慢体会。现在Python经常会用来做编程的教学语言,主要因为Python的语法简洁,容易学习,能用很少量的代码实现开发者想法。它还是当前计算机领域应用非常广泛的一种语言,在各种场景都有它的出现,特别是数据分析和人工智能方面。
理解编程
前面说到编程语言实际上是与计算机沟通的一种方法,某种意义上说,你需要两种技能才能成为程序创造者。
- 首先,您需要了解你使用的编程语言,您需要知道
词汇
和语法
。你需要能够正确拼写这种新语言中的单词,并知道如何用这种新语言构建格式良好的句子
。 - 其次,你需要会讲
故事
。在编写故事时,您将单词和句子结合起来向读者(电脑)传达一个算法
。构建故事有一定的技巧和艺术,在编程中,我们的程序就是故事,你解决问题方法就是算法。
一旦学习了一种编程语言(如Python),你就会发现学习第二种编程语言(如JavaScript或C++)要容易得多。新的编程语言可能会具有非常不同的词汇和语法,但解决问题的技巧在大多数编程语言中都是相同的。
单词和句子
与人类语言不同,用Python讲故事时使用的词汇量实际上非常小,目前只有三十多个,比任何一种人类语言的词汇量都少多了。我们称这种词汇为保留字
。这些词对Python具有非常特殊的意义。稍后当你编写程序时,你可能会需要编写自己的单词,这些单词对你来说就叫标识符
。您可以很自由地为标识符选择名称,但不能使用Python的任何保留字作为标识符的名称。我们会慢慢的介绍这些保留字来学习它们如何在适当的时候使用。
用Python与计算机交谈
在用Python交谈之前,必须首先在计算机上安装Python软件,或称他为Python解释器,这是Python把你说的故事翻译成计算机硬件能看懂的命令的一种工具。这根据你的操作系统有不同的安装文件,在Python的官方网站下载页面上有详细的说明,这里不再赘述。
安装完成后进入你操作系统的命令行
- windows下按win+r键,然后输入cmd
- mac下按command+空格,输入terminal
- linux下默认终端是/bin/bash
在终端输入python
并按回车,Python解释器将以交互模式开始执行,并显示类似如下的信息:
$ python
Python 3.7.1 (default, Nov 6 2018, 18:45:35)
[Clang 10.0.0 (clang-1000.11.45.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
这里在python按回车后显示安装了3.7.1版本的python,然后会有一个>>>
提示符,这就是是Python解释器的提问方式,你想我下一步做什么?
Python已准备好与您进行对话。所以你必须知道如何说Python语言。
这时你不知道任何Python语言单词或句子,第一次来到Python的世界,我们就像宇航员来到了一个陌生的外星球,与外星居民打个招呼吧:
>>> 你好python,我来自地球!
File "<stdin>", line 1
你好python,我来自地球!
^
SyntaxError: invalid character in identifier
>>>
不好,Python似乎告诉你出现了一个语法错误SyntaxError
,不用担心,系统并不会崩溃,只是在Python的句子规则中并不能理解你要干嘛。这时交互环境又会回到>>>
符号这里,等待你的下一次指令。
让我们翻开Python星球旅行手册,我们找到新手入门的这个print()命令,我们再试一次。
>>> print('你好,我来自地球!')
你好,我来自地球!
>>>
这回好像好多了,没有出现奇怪的提示,但是你似乎在和自己说话,Python像回音壁一样返回给你一句一样的话。print其实是Python的一个函数(function)
,它用来处理你提交给他的一个字符串
,来显示到终端命令行。函数
本来是数学中的一种定义,给一个输入得到一个输入,是一种映射
关系。而编程中的函数不只是这种映射功能,你还可以理解为一段处理,或多个命令的组合。
为了打印这个简单的交互功能,Python在背后和计算机做了很多工作,从你的键盘输入到在屏幕合适的位置用点阵显示出你的文字,但具体做了些什么这些都不用你关心,这就是高级语言的优点之一,你不用了解该怎么操作硬件,也可以与计算机交互。当然如果你想深入学习计算机编程还是要系统的了解计算机硬件的原理。
如果你还没有在电脑上安装好Python,你可以查看Python在线例程库-L001,这个在线编程环境对于初学者来说它与真实的Python解释器并没有什么区别。
hello world
很多编程语言的第一课都是搭建好环境后在屏幕上输出一句话,传统的做法通常是输出Hello,world
,用来了解这种语言的基本操作。它中文意思是“你好,世界”。因为《The C Programming Language》中使用它做为第一个演示程序,非常著名,所以后来的程序员在学习编程或进行设备调试时延续了这一习惯。
参考
本系列尚未完成,将持续更新,请关注我的简书号。
最新STEM知识分享请关注STEM实验室 :www.steamlab.club