プログラミングは短期間で習得できるものではなく、講義を聞くだけでマスターできるものでもありません。使えば使うほど疑問や問題が出てくるのが常で、その都度、自力でそれに対処することで、少しずつ経験値が上げるものだとお考えください。この授業では、細かい文法の話は(初心者には意味不明なことが多いので)後回しにして、様々なサンプルでプログラミングの可能性に触れていただくことを主軸に据えています。まずはサンプルを「真似する」ことから入って、「ここをこうしたい」「ここを変えるとどうなる」といった、自らの好奇心で、サンプルを改変しながら、経験値を上げてください。
Pythonプログラミングへの関心が高まった方、あるいは、その必要性を感じた方は、自分自身の目で「読みやすい」と思う参考書を一冊購入して、初歩から順に読むことをおすすめします。> Amazon:Python 入門
今回からは Python というプログラミング言語を使います。データサイエンスの世界では、スプレッドシートを用いた統計処理と並んで、Python言語による統計処理が主流となっており、インターネット検索でも、様々な手法を知ることができます。
Pythonはさまざまな分野のアプリケーションで使われているインタープリタ型のプログラミング言語です。クリーンで読みやすい文法、手続き型のコードによる自然な表現、直感的なオブジェクト指向、事実上すべてのタスクをこなせる広範な標準ライブラリとサードパーティのモジュール、アプリケーションに組み込んでスクリプトインタフェースとして利用することが可能・・など様々な利点があります。
開発環境を含めてオープンソースです。無償でダウンロード>インストールして利用することもできます(この授業では使いません)。
Python言語を使うには、パソコンに開発環境をインストールする方法もありますが、ここでは Python の学習環境として様々なテキストで紹介されている Google Colaboratory を使用します。
Google Colaboratory とは、Googleの仮想マシン上で動く Jupyter Notebook*1 をベースとした開発環境です。Googleアカウントがあれば、日常的に用いているブラウザから誰でも無料で利用できます。
PythonBasics.ipynb
では、はじめましょう
Jupyter Notebookには、コード(プログラム)を書くためのコードセルと、テキスト(ノート)を書くためのテキストセルの2つがあります。この2つのセルを使うことで、見出し・解説・プログラムを文字通り「ノート」のようにまとめることができます。
a = 5 * 3 a
15
b = a *2 b
30
Googleアカウントがあれば、誰でも無料で利用できますが・・
プログラムの基本は、以下の流れです。
データの入力 > 計算処理 > 結果の出力
以下のソースを「コード」として コピー&ペーストしてお試し下さい。
a = input( "a = " ) b = input( "b = " ) a = int( a ) b = int( b ) c= a*b print( "a x b = ", c )
プログラミングの世界では「データを入れる器」のことを変数と言います。
Python の予約語以外であれば、自由な変数名を使うことができます。
x = 256 a = "hello"
変数には、数値・文字列・リストなど、様々なタイプがあります。
> 詳細:Python/Syntax
Python では # 記号以降はコメントとして扱われます。プログラム上で文の機能を一時的に無効にする(コメントアウト)場合にも利用可能です。
a = 1 # comment
a = 1 # b = 2 # c = 3 d = 4
if 文や for 文などの制御では複合文の記載が必要になります。JavaScript や PHP では { から } までが複合文が書かれる「ブロック」となりますが、Pythonでは、囲み記号を使わず、同じインデント(字下げ)がなされている文をブロックとして扱います。
if 条件式: ブロック内の処理1 ブロック内の処理2
インデントの位置をさらにずらすことでブロックの「入れ子」が実現します。
if 条件式: ブロック内の処理1 ブロック内の処理2 if 条件式: ブロック内の処理1 ブロック内の処理2
Python でよく用いる比較演算子は以下。結果は True または False です。
演算子 | 意味 |
x == y | x と y が等しい |
x != y | x と y が等しくない |
x > y | x は y よりも大きい |
x < y | x は y よりも小さい |
x >= y | x は y と等しいか大きい |
x <= y | x は y と等しいか小さい |
if 条件式1: 条件式1が真の時に実行する文 ... elif 条件式2: 条件式1が偽で条件式2が真の時に実行する文 ... else: すべての条件式が偽のときに実行する文 ...
for 変数 in イテラブルオブジェクト: 実行する文 1 実行する文 2 実行する文 3
x = [ "Orange", "Apple", "Lemon" ] for val in x: print( val ) Orange Apple Lemon
for i in range(10): print( i ) 0 1 :
while 条件式: 条件式が真の時に実行する文1 条件式が真の時に実行する文2 条件式が真の時に実行する文3
n = 0 while n < 6: print( "n = " + str( n ) ) n += 1 n = 1 n = 2 n = 3 n = 4 n = 5
1から100までの整数の総和を求めるプログラム
s = 0 for i in range(1,101): s = s + i print(s)
s = 0 i = 1 while i<=100: s = s + i i += 1 print(s)
ここまでで紹介したサンプルプログラムを含むノートを、学科サイトの個人ページからリンクして下さい。以下、手順です。
このリンクを知っているインターネット上の全員が閲覧できます。
-[[Python Basics>https://colab.research.go・・=sharing]]
このようなファイルを作っておくと、今後ちょっとしたコードの動作確認を行うためのノートとして活用することができます。