この連載では、Pythonについて色々な形で再学習に取り組んでいます。前回の記事はこちらになります。 hirocom777.hatenadiary.org 前回はPython再学習にあたって、取り組み方を検討してみました。
とりあえず、過去に学んだノンプロ研の初級講座の復習から始めようと思います。ただ、途中気分次第で色々脱線するかもしれません(笑) 長い旅の始まりです。
動作環境について
今回参考にする初級講座は、Jupyter Notebookの環境で進められました。私の方ではVS Codeを使用します。拡張機能を入れると、ほぼ同じことができます。その他の環境はAnacondaを使っています。
さっそく始めて見る
それでは、さっそく始めて見ようと思います。「演習1-01.ipynb」というファイルを作って以下を入力、実行してみましょう。「ipynb」は、Jupyter Notebook専用ファイルです。
print('Hello Python!!')
結果は以下のようになりました。
Hello Python!!
文字を表示するだけならば、これだけでOK。シンプルといわれる所以ですね。print関数は標準出力にデータを表示します。 文字データを表記するには文字データを「'」または「"」で囲みます。数値データはそのまま表記します。これら表記方法を「リテラル」といいます。また、コメントはハッシュ記号「#」の後に書きます。
変数
続いて変数です。Pythonにおける変数とは、データに付与するラベル(文字列)です。他のプログラムとはちょっと違う感じがしますね。 文字列には以下の規則があります。
- 使用できる文字列はアルファベット(A~Z,a~z)、数字(0~9)、アンダースコア(_)だけ
- 先頭に使えるのはアルファベット、アンダースコアだけ
- アルファベットの大文字と小文字は区別される
データに変数を割り当てることを代入といいます。変数名とデータを「=」で繋げます。
変数名 = データ
以下は1234というデータに、「num」という変数を割り当てています。
num = 1234
変数にはじめてデータが代入されることを「初期化」といいます。すでにデータが代入されている変数に別のデータが代入されると、別のデータが変数に割り当てられます。これを「代入」といいます。
データ型と演算
Pythonでは、操作するデータのことを「オブジェクト」と呼びます。データにはいろいろな種類(型)があります。以下は代表的なデータ型です。
データ型 | タイプ | 説明 |
---|---|---|
整数型 | int | 整数 |
浮動小数点型 | float | 浮動小数点数 |
ブール型 | bool | TrueかFalseかどちらかの値(ブール値/真偽値)を取る |
range型 | range | 範囲内で等間隔に並ぶ整数の集合 |
文字列型 | str | 文字列 |
リスト型 | list | インデックスで管理するデータの集合 |
タプル型 | tuple | インデックスで管理するデータの集合(変更不可) |
辞書型 | dict | キーで管理するデータの集合 |
他のプログラミング言語では、整数型、浮動小数点型、文字列型などのデータ型を「プリミティブ型」等と呼んだりします。そして、これらのデータ型を組み合わせてできたデータ型を「オブジェクト型」と呼んでいます。これに対してPythonでは、すべてのデータはオブジェクトになります。
オブジェクトのデータ型を調べるには、type関数を使います。
type(データ)
で、データ型を返します。以下のスクリプトを実行してみましょう。
print(type(123)) print(type(123.4)) print(type('hoge')) print(type(False)) print(type([])) print(type(())) print(type({}))
結果は以下のようになりました。
<class 'int'> <class 'float'> <class 'str'> <class 'bool'> <class 'list'> <class 'tuple'> <class 'dict'>
それぞれのデータ型を返してくれています。
結局Pythonとは?
ここまで来て思ったのは「Pythonとはデータ(オブジェクト)を操作するためのプログラミング言語」ではないかということです。今まで学んできたExcelVBAは基本ExcelなどのOfficeアプリケーション、GASはGoogleが提供しているサービスを操作することが主目的だったと思います。Pythonでは、この対象がアプリケーションやサービスではなくデータ自体だということが、その適用範囲を広げているのかもしれません。 この解釈があっているかどうかは、まだわかりません。学習を進めていくうちに明らかになればいいと思います。
次回はデータ操作
いかがでしょうか。改めて見直してみると何か発見があったようにも感じます。次回はデータ操作です。お楽しみに!!