ラズベリーパイでPythonプログラミング入門
世界中で人気のあるプログラミング言語、Pythonをラズパイを使って学んでみましょう!
Python(パイソン)とは
ラズパイ公式のプログラミング言語
ラズパイが公式に推しているプログラミング言語です。Raspberry PiのPi(パイ)は、お菓子のPie(パイ)とPythonのPy(パイ)をかけたシャレで、「子供にPythonを使ってプログラミングを勉強してほしい」という思いが込められています。
Pythonは2022年現在、無数にあるプログラミング言語のうち、人気順位でJavaScriptに次ぐ2位につけています。
これだけPythonが好まれる理由は、誰でもシンプルに書け、機能が充実しており、ラズパイなどのコンピューターの操作だけでなくWeb開発やデータ処理、機械学習など、使える分野がとても広いからです。子供のうちからPythonをできるようになったらすごいことになりそうですね。
開発者と名前の由来
PythonはGuido van Rossumというオランダ人のプログラマーによって1991年に開発されました。
Rossum氏は自身が開発した言語のために「短くて、ユニークで、ちょっとミステリアスな名前」を探していました。その頃氏はMonty Python’s Flying CircusというBBCのコメディーの脚本を読んでいて、これからヒントを得てPython(パイソン)と名付けたそうです。(由来の詳細はこちら)
なお、Pythonという言葉はもともと大蛇の意味です。これがPythonのロゴが蛇の理由です。
Pythonプログラムの例
それでは早速Pythonで書かれたプログラムを見てみましょう。これは画面にHello World! と表示するプログラムです。
print("Hello World!")
他の言語との比較
pythonの特徴は、なんといってもシンプルなことです。Hello Worldと表示するプログラムをC、Java、PHP、JavaScriptで書くと以下のようになります。
C
#include <stdio.h> int main() { printf("Hello, World!"); return 0; }
Java
class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }
PHP
<?php echo "Hello World!"; ?>
JavaScript
<script> console.log('Hello World'); </script>
もう一度Pythonを見てみましょう。
print("Hello World!")
いかがでしょうか? 1番シンプルで、行数が少ないのがおわかりいただけたかと思います。
Thonnyでやってみよう
まず動画で確認
デスクトップからThonnyを開き、Hello Worldと表示するプログラムを作成して保存、実行をこれからやっていきます。まずは以下の動画をごらんください。
Thonnyの起動
それではひとつずつやっていきましょう。まずはThonnyの起動です。ラズパイアイコン → Programming → Thonny Python IDEの順にクリックします。
Thonnyが起動しました。真ん中の部分はプログラムを実際に作成する場所、その下がプログラムの実行結果が表示される部分です。
Thonnyでのプログラムの作成・保存・実行・停止
プログラム作成エリアに
print("Hello World")
と打ち込み、Saveボタンをクリックします。
新しい画面が開くので、プログラムの名前を hello.py とし、OKボタンをクリックします。
前の画面に戻るので、Runボタンを押してプログラムを実行します。
Hello World と表示されたのを確認します。
今回のプログラムはHello Worldと画面に表示したあと、自動的に終了するので必要ありませんが、ずっと動き続けているプログラムを実行した場合、終了する時はStopボタンをクリックします。
Thonnyを使用する場合、プログラムがどんなに複雑になっても上記の手順は変わりません。
viテキストエディターで同じことをやってみよう
興味のある方は、ターミナルからviテキストエディターを使って同じことをしてみましょう。まずラズパイアイコンの右隣にあるターミナルのアイコンをクリックします。
開いたターミナルに、以下を順番に打ち込んでみてください。
vi hello2.py
i
print(“hello world”)
Escキー : w q Enterキー
python hello2.py
どうでしょうか? 画面にHello Worldと表示されましたか?
うまくいかなくても今は気にしなくて大丈夫です。ひとつ覚えておいてほしいのは、テキストエディターに慣れるとThonnyより早くできるかも、ということです。
昔のコンピューターは今のようなGUIがなく、キーボードでしか操作できませんでした。その頃からプログラムを作成・修正するのに使われていたのがviテキストエディターです。viはもっとも古くからあるテキストエディターのひとつです。
Pythonの機能やきまりごと
変数
Pythonでは変数を簡単に扱うことができます。変数とは、中に好きなものを入れ、あとで取り出したり入れ替えたりできる、名前のついた箱です。
例えば、動物の種類を3ヶ所に表示するプログラムを考えてみましょう。3ヶ所のそれぞれに
print("cat")
と書いていたとします。すると、今度はdogと表示したくなった時、3ヶ所すべてを直さなくてはいけません。3ヶ所ぐらいならすぐ直せそうですが、1万ヶ所あったらどうでしょうか? 1個ずつやっていたらそれだけで1日が終わってしまいそうです(置換すればよいという話はおいておきましょう)。
そんな時便利なのが変数です。こんなふうにすることで、catをdogに買えるだけで、あとは1万ヶ所は全部一瞬で変わります。
animal = "cat" print(animal)
繰り返し
プログラムを書いていると、同じようなことを何回もやりたい場合が出てきます。例えば、動物の種類を10回連続で表示したいような場合です。この時、print(animal)を10回書いてもいいのですが、これが1万回表示しないといけなくなった時、とても大変です。
そこで使える便利なものが繰り返しです。例えば以下のように書くと、1万回動物の種類を表示できます。
animal = "cat" for i in range(10000): print(animal)
ちなみに、永遠に繰り返したい場合はこのように書きます。
animal = "cat" while True: print(animal)
繰り返しを使うと、プログラムをたくさん書く手間を省くことができるわけですね。
インデント
さっきのプログラムのprintの前にスペースが4つ入っていたのに気づきましたか? Pythonでは:(コロン)のあとの行はタブやスペースで字下げをする必要があります。
これをインデントといい、このルールのことをオフサイドルールといいます。このルールのおかげで、:のあとどこまでが直前の処理の続きなのかがわかるようになっています。
このルールをきちんと守らないとプログラムが正しく動かないので注意しましょう。
分岐
プログラムを書いていると、変数(名前のついた箱でしたね)に何が入っているか確認し、その内容によってプログラムの動きを変えたい場合が出てきます。例えば、変数に入っている動物の種類が猫だったらA CAT IS HERE.と表示し、犬だったらA DOG IS HERE.と表示したい場合です。あと、ねこでもいぬでもないとしたら、UNKNOWNと表示したい場合を考えます。
以下のプログラムで実現できます。
animal = "cat" if animal == "cat": print("A CAT IS HERE.") elif animal == "dog": print("A DOG IS HERE") else: print("UNKNOWN")
繰り返しと組み合わせることで色々なことに使えそうですね。
機能拡張
Pythonは外部のモジュールと呼ばれるものを追加して、機能を増やすことができます。例えば、1秒おきに動物の種類を表示したいとします。この時、1秒おやすみするsleepという機能がtimeというモジュールに入っていますので、以下のようにするとできます。
import time animal = "cat" while True: print(animal) time.sleep(1)
PythonはラズパイのGPIOの操作用からデータ処理用、機械学習用、画像処理用と、とてもたくさんのモジュールがあります。少しずつ学んでいってできることを増やしていきましょう。
おわりに
さて、いかがだったでしょうか。Pythonは覚えることがとても少なく、初心者でも嫌にならずに始められるプログラミング言語だと思います。できそうだと思ったら、ラズベリーパイで電子工作(Lチカ)を始めようをやってみてくださいね。
みなさまがたのしくPythonの学習を進められるよう、ラズパイスクールはお手伝いをしていきます😊