Python備忘録1 -初めましての日-
私が初めて本格的に触ったプログラミング言語、Python。現在進行形でちょこちょこ使っているけれど、別にプログラマーとかではなく、常日頃触れているわけではないので、少し時間が空くと忘れてしまう。だから備忘録として、勉強の記録を残していこうと思う。
今日はPythonとの出会いを思い出す日。
実行環境を整える
まずはPythonを使うために必要なもの、Pythonとエディタ(テキスト編集ソフト)を揃えることから始まった。
色々やり方はあるのだけれど、私の場合は教わった時にAnacondaというツールを勧めて頂いたので、それを使っている。データ解析や機械学習に適したライブラリ*が充実していて、エディタもまとめられているので、取り敢えずAnacondaをインストールすればPythonを使えるようになる。
*Pythonでは関数をまとめたものをモジュール、モジュールをまとめたものをパッケージ、パッケージのまとめたものをライブラリと呼ぶ。
上記のやり方でもいいし、Pythonを直接インストールして、必要なライブラリとかエディタは別でインストールすることもできる。エディタはテキストの編集ができれば良いので、PCに元から入ってるメモ帳でもできないことはない。でも、専用ソフトを使う方が絶対良い。コードを予測してくれたり、整えてくれたり、色を変えて見やすくしてくれたり、ミスを教えてくれたりするので、とっても捗る。
エディタは、私はAnacondaに付属していたSpyderをメインで使っている。Spyderはエディタというか、統合開発環境(IDE;Integrated Development Environment)なので、コードの記述だけでなく、実行、デバッグなどもできる。他にもAtomとか、Visual Studio、PyCharmなどなど、色々ある。
コードの書き方を知る
コンソールに文字を出力してみる
print関数を使うことで文字を画面に表示することができる。例えば、
print("Hello!")
と書いて実行すれば
Hello!
と返ってくる。文字列を扱うときは、”ダブルクォーテーション“か’シングルクォーテーション’で囲まないといけない。
print関数はコンソールに表示するだけなので、実際プログラムを完成させて動かすときには、ほぼ使わない気がする。でも、コードを書いてる途中で、正しく処理出来るか確かめたくなった時、割とお世話になる大事な関数。
変数を使ってみる
適当な名前をつけた変数に値を入れると、変数がその値を記憶してくれる。変数名は好きに決めていいけど、使えるのは英数字とアンダースコア(_)で、数字から始めることはできない。あと、関数と同じ名前とか、コード上意味を持つ言葉は使えない。
action = "私が山を登るのは、"
reason = "そこに山があるからだ"
print(action + reason)
実行!
私が山を登るのは、そこに山があるからだ
変数の値は別の値を代入し直したり、計算をすることで更新できる。文字列の他、数値とかリストとか色々な値を格納できる。
計算させてみる
演算子を使って計算する。
加算、単項プラス(+)
減算、単項マイナス(-)
乗算(*)
べき乗(**)
除算(/)
切除除算(//)
剰余(%)
num1 = 25
num2 = 4
print(num1 * num2) #乗算
print(num1 // num2) #切除除算
print(num1 % num2) #剰余
ちなみに、シャープ(#)をつけると、#より後はコメントとして無視される。
これを実行すると、上から順に計算結果が表示される。
100
6
1
***
プラス記号(+)は文字列やリストなどを繋げる時にも使える。ただし、文字列+数値、のように違う種類の値に使うことはできない。str(数値)で数値を文字列にするか、print関数の中でカンマ(,)で区切れば良い。
money = 300
print("遠足のお菓子は", money, "円までだよ。")
print("太郎くんはお小遣いとして、" + str(money) + "円もらった。")
実行すると、こんな感じ。カンマ(,)を使うとスペースが空く。
遠足のお菓子は 300 円までだよ。
太郎くんはお小遣いとして、300円もらった。
***
代入演算子というものもある。イコール(=)と、他の演算子にイコール(=)を組み合わせたものがあって、後者は元の値に計算を追加して代入することができる。まあ、使えば分かる。
代入(=);等しいという意味ではダブルイコール(==)を使うので注意
加算代入、減算代入(+=、-=)
乗算代入、べき乗代入(*=、**=)
除算代入、切除除算代入、剰余代入(/=、//=、%=)
num1 = 2525
num1 += 5
num2 = 10
num2 *= 9.8
print(num1)
print(num2)
結果
2530
98.0
例えば、加算代入だと A=A+B を A+=B に省略して書くことができるよー! ってこと。
値の種類を知る
既に数値と文字列は扱ったけど、他にもリスト、ディクショナリ、真偽値(TrueやFalse)など色んな値がある。
数値
整数(int)
浮動小数点数(float)
複素数(complex)
真偽値(bool)
シーケンス;複数の要素が順番に並んだもの
文字列(str)
リスト(list)
タプル(tuple)
バイト列(bytes)
セット(set)
ディクショナリ(dict)
クラス
インスタンス
終わり
今日はここまで。
改めてまとめてみると、勉強した感があって、ちょっと嬉しい。