今回から、Raspberry Pi を使って Python を学ぼうと思います。と、言っても入門等は多数のサイトがあるので、別の方法を探ってみます。
そこで目を付けたのは、Python の公式サイト、
https://www.python.org/
です。ここの、「Documentation」のサブメニュー「Beginner's Guide」をクリックして、そこの「Learning Python」にあるプログラム経験者用の「BeginnersGuide/Programmers」をクリックして、「BeginnersGuide/Overview」を見ると、「SimplePrograms」という短いサンプルプログラムをまとめたものがありました。
SimplePrograms - Python Wiki
https://wiki.python.org/moin/SimplePrograms
見ると、1行から、2行、3行、・・・と順番にプログラムの行数が増えて、複雑になるようにまとめられています。段々複雑になるそうで初心者向けサンプルプログラム集としてとても凝っています。
最後の方は難しそうなのでどうなるか分かりませんが、今回はこれを使って実際に Python を学んで見たいと思います。
一つ一つのプログラムは、実際に Raspberry Pi の python3 で1行づつ実行して、確かめて理解を深めます。いちから文法を見てというのはやらないで、その他のプログラミング言語からの類推で個々のサンプルプログラムを試して、確認を取るやり方で行います。
まずは、python3 を起動してみます。(Raspbian 12 の標準のものです。)
$ python3
Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
バージョンは 3.11.2 でやや古いですがそのまま利用します。
「>>>」 がプログラムの各行の入力待ちのプロンプトですね。
標準入力待ちですので、Ctrl-D で終了できます。その他に、
>>> quit()
$
のように終了できます。python はインタープリタですから1行づつ入力しても動作するはずです。
早速 Python を学んでみましょう。
「SimplePrograms」の 1番目のプログラムは、
print ('Hello, world!')
です。早速実行してみます。
>>> print ('Hello, world!')
Hello, world!
>>>
いわゆる Hello, world! を表示するプログラムですが、このプログラムは極めて重要です。
プログラミング言語を習得する場合、その結果がどのようになるかを表示する必要があり、それはすなわち Hello, world! の変形で実現するからです。早速見てみますと、Python のいくつかの特徴がわかります。
1) print という関数を使って表示(標準出力への出力)を行う。
関数は高校数学で y=f(x) のように表記するので、関数名とカッコで表し、カッコ内に関数に渡す引数を指定するのが一般的です。というわけで、この表記から python3 では print の命令文みたいなものは無く、関数で指示を行うと考えられます。つまりカッコの中は、引数であると考えてよさそうです。
そこで、print という関数を表すために、print() と書くことにします。
2) print() に引数を指定するとそのまま表示される。
引数が複数の場合はどうなるかは今後分かるでしょう。
3) 文字列は 'Hello, world!' のように「 ' 」文字で囲む。
現在のプログラミング言語で、数値、文字列という概念は必須だと思うのでここで文字列の表記方法が分かりました。
4) 1行の終わりに何も無い。
となると、長い行はどうなるのか興味深いです。
ここで試しに、print()の前に空白文字をいれるとエラーになります。
>>> print( 'Hello, world!' )
File "<stdin>", line 1
print( 'Hello, world!' )
IndentationError: unexpected indent
>>>
つまり、行の先頭の空白(インデント)に意味があるようです。
おまけで、print と 「(」 文字の間の空白は無視されるようです。
>>> print ('Hello, world!')
Hello, world!
>>>
分かりにくいので通常はそうしませんが。
まだ、1番目なので簡単ですが、早速色々な事が分かったつもりになりました。今後、途切れないようにしたいと思います。
そこで目を付けたのは、Python の公式サイト、
https://www.python.org/
です。ここの、「Documentation」のサブメニュー「Beginner's Guide」をクリックして、そこの「Learning Python」にあるプログラム経験者用の「BeginnersGuide/Programmers」をクリックして、「BeginnersGuide/Overview」を見ると、「SimplePrograms」という短いサンプルプログラムをまとめたものがありました。
SimplePrograms - Python Wiki
https://wiki.python.org/moin/SimplePrograms
見ると、1行から、2行、3行、・・・と順番にプログラムの行数が増えて、複雑になるようにまとめられています。段々複雑になるそうで初心者向けサンプルプログラム集としてとても凝っています。
最後の方は難しそうなのでどうなるか分かりませんが、今回はこれを使って実際に Python を学んで見たいと思います。
一つ一つのプログラムは、実際に Raspberry Pi の python3 で1行づつ実行して、確かめて理解を深めます。いちから文法を見てというのはやらないで、その他のプログラミング言語からの類推で個々のサンプルプログラムを試して、確認を取るやり方で行います。
まずは、python3 を起動してみます。(Raspbian 12 の標準のものです。)
$ python3
Python 3.11.2 (main, Mar 13 2023, 12:18:29) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
バージョンは 3.11.2 でやや古いですがそのまま利用します。
「>>>」 がプログラムの各行の入力待ちのプロンプトですね。
標準入力待ちですので、Ctrl-D で終了できます。その他に、
>>> quit()
$
のように終了できます。python はインタープリタですから1行づつ入力しても動作するはずです。
早速 Python を学んでみましょう。
「SimplePrograms」の 1番目のプログラムは、
print ('Hello, world!')
です。早速実行してみます。
>>> print ('Hello, world!')
Hello, world!
>>>
いわゆる Hello, world! を表示するプログラムですが、このプログラムは極めて重要です。
プログラミング言語を習得する場合、その結果がどのようになるかを表示する必要があり、それはすなわち Hello, world! の変形で実現するからです。早速見てみますと、Python のいくつかの特徴がわかります。
1) print という関数を使って表示(標準出力への出力)を行う。
関数は高校数学で y=f(x) のように表記するので、関数名とカッコで表し、カッコ内に関数に渡す引数を指定するのが一般的です。というわけで、この表記から python3 では print の命令文みたいなものは無く、関数で指示を行うと考えられます。つまりカッコの中は、引数であると考えてよさそうです。
そこで、print という関数を表すために、print() と書くことにします。
2) print() に引数を指定するとそのまま表示される。
引数が複数の場合はどうなるかは今後分かるでしょう。
3) 文字列は 'Hello, world!' のように「 ' 」文字で囲む。
現在のプログラミング言語で、数値、文字列という概念は必須だと思うのでここで文字列の表記方法が分かりました。
4) 1行の終わりに何も無い。
となると、長い行はどうなるのか興味深いです。
ここで試しに、print()の前に空白文字をいれるとエラーになります。
>>> print( 'Hello, world!' )
File "<stdin>", line 1
print( 'Hello, world!' )
IndentationError: unexpected indent
>>>
つまり、行の先頭の空白(インデント)に意味があるようです。
おまけで、print と 「(」 文字の間の空白は無視されるようです。
>>> print ('Hello, world!')
Hello, world!
>>>
分かりにくいので通常はそうしませんが。
まだ、1番目なので簡単ですが、早速色々な事が分かったつもりになりました。今後、途切れないようにしたいと思います。
※コメント投稿者のブログIDはブログ作成者のみに通知されます