
本系列文章旨在讓十歲左右的青少年或從未接觸過編程的人能輕松愉快的理解并學(xué)會基本的編程方法和編程思想,所以并不會涉及復(fù)雜艱深的編程概念和技巧,如果你覺得有什么敘述和解釋對于十歲左右的小朋友會造成理解困難,請留言提出意見。文章的部分思想和內(nèi)容來自于一些國外網(wǎng)絡(luò)公開課程的總結(jié)。
你為什么要學(xué)習(xí)編寫程序?
編寫程序(或編程)是一項非常有創(chuàng)造性和有益的活動。編寫程序有很多作用,從數(shù)字計算,到文件處理,到解決困難的數(shù)據(jù)分析問題,控制復(fù)雜的機械。現(xiàn)在人類的很多事情都需要通過編程來讓計算機解決。
我們的日常生活中充斥著各種電腦,從筆記本電腦到手機。他們可以代替我們處理許多事情。我們現(xiàn)在的計算機的工作方式簡單來說基本上是為了不斷向我們提出這樣一個問題,你希望我下一步做什么?,當(dāng)然計算機并不會真的這么和你說話,計算機有他自己的方言。
我們的計算機不僅速度快,而且記憶容量大,如果我們能用我們熟悉的語言向計算機解釋我們希望它做的下一步的話,將對我們非常有幫助。有趣的是計算機做的最好的事通常是我們?nèi)祟愑X得無聊和麻木的東西,也就是大量的記憶數(shù)據(jù)和重復(fù)同樣的勞動。
我們將學(xué)習(xí)一種與計算機溝通的語言,它叫Python。在計算機的世界里有許許多多的語言種類,Python是一種面向?qū)ο蟆⒔忉屝?、強類型定義、動態(tài)類型的計算機程序設(shè)計語言,你現(xiàn)在并不需要全部理解這些對語言種類描述的含義,在學(xué)習(xí)的過程中你會慢慢體會。現(xiàn)在Python經(jīng)常會用來做編程的教學(xué)語言,主要因為Python的語法簡潔,容易學(xué)習(xí),能用很少量的代碼實現(xiàn)開發(fā)者想法。它還是當(dāng)前計算機領(lǐng)域應(yīng)用非常廣泛的一種語言,在各種場景都有它的出現(xiàn),特別是數(shù)據(jù)分析和人工智能方面。
理解編程
前面說到編程語言實際上是與計算機溝通的一種方法,某種意義上說,你需要兩種技能才能成為程序創(chuàng)造者。
- 首先,您需要了解你使用的編程語言,您需要知道
詞匯和語法。你需要能夠正確拼寫這種新語言中的單詞,并知道如何用這種新語言構(gòu)建格式良好的句子。 - 其次,你需要會講
故事。在編寫故事時,您將單詞和句子結(jié)合起來向讀者(電腦)傳達一個算法。構(gòu)建故事有一定的技巧和藝術(shù),在編程中,我們的程序就是故事,你解決問題方法就是算法。
一旦學(xué)習(xí)了一種編程語言(如Python),你就會發(fā)現(xiàn)學(xué)習(xí)第二種編程語言(如JavaScript或C++)要容易得多。新的編程語言可能會具有非常不同的詞匯和語法,但解決問題的技巧在大多數(shù)編程語言中都是相同的。
單詞和句子
與人類語言不同,用Python講故事時使用的詞匯量實際上非常小,目前只有三十多個,比任何一種人類語言的詞匯量都少多了。我們稱這種詞匯為保留字。這些詞對Python具有非常特殊的意義。稍后當(dāng)你編寫程序時,你可能會需要編寫自己的單詞,這些單詞對你來說就叫標識符。您可以很自由地為標識符選擇名稱,但不能使用Python的任何保留字作為標識符的名稱。我們會慢慢的介紹這些保留字來學(xué)習(xí)它們?nèi)绾卧谶m當(dāng)?shù)臅r候使用。
用Python與計算機交談
在用Python交談之前,必須首先在計算機上安裝Python軟件,或稱他為Python解釋器,這是Python把你說的故事翻譯成計算機硬件能看懂的命令的一種工具。這根據(jù)你的操作系統(tǒng)有不同的安裝文件,在Python的官方網(wǎng)站下載頁面上有詳細的說明,這里不再贅述。
安裝完成后進入你操作系統(tǒng)的命令行
- windows下按win+r鍵,然后輸入cmd
- mac下按command+空格,輸入terminal
- linux下默認終端是/bin/bash
在終端輸入python并按回車,Python解釋器將以交互模式開始執(zhí)行,并顯示類似如下的信息:
$ 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似乎告訴你出現(xiàn)了一個語法錯誤SyntaxError,不用擔(dān)心,系統(tǒng)并不會崩潰,只是在Python的句子規(guī)則中并不能理解你要干嘛。這時交互環(huán)境又會回到>>>符號這里,等待你的下一次指令。
讓我們翻開Python星球旅行手冊,我們找到新手入門的這個print()命令,我們再試一次。
>>> print('你好,我來自地球!')
你好,我來自地球!
>>>
這回好像好多了,沒有出現(xiàn)奇怪的提示,但是你似乎在和自己說話,Python像回音壁一樣返回給你一句一樣的話。print其實是Python的一個函數(shù)(function),它用來處理你提交給他的一個字符串,來顯示到終端命令行。函數(shù)本來是數(shù)學(xué)中的一種定義,給一個輸入得到一個輸入,是一種映射關(guān)系。而編程中的函數(shù)不只是這種映射功能,你還可以理解為一段處理,或多個命令的組合。
為了打印這個簡單的交互功能,Python在背后和計算機做了很多工作,從你的鍵盤輸入到在屏幕合適的位置用點陣顯示出你的文字,但具體做了些什么這些都不用你關(guān)心,這就是高級語言的優(yōu)點之一,你不用了解該怎么操作硬件,也可以與計算機交互。當(dāng)然如果你想深入學(xué)習(xí)計算機編程還是要系統(tǒng)的了解計算機硬件的原理。
如果你還沒有在電腦上安裝好Python,你可以查看Python在線例程庫-L001,這個在線編程環(huán)境對于初學(xué)者來說它與真實的Python解釋器并沒有什么區(qū)別。
hello world
很多編程語言的第一課都是搭建好環(huán)境后在屏幕上輸出一句話,傳統(tǒng)的做法通常是輸出Hello,world,用來了解這種語言的基本操作。它中文意思是“你好,世界”。因為《The C Programming Language》中使用它做為第一個演示程序,非常著名,所以后來的程序員在學(xué)習(xí)編程或進行設(shè)備調(diào)試時延續(xù)了這一習(xí)慣。
參考
本系列尚未完成,將持續(xù)更新,請關(guān)注我的簡書號。
最新STEM知識分享請關(guān)注STEM實驗室 :www.steamlab.club