2.Pythonを使ってみよう
Pythonがインストールできた時点でPythonを使った簡単な計算が出来るようになっています.試しにコマンドプロンプトからPythonを起動してみましょう.
2-1.コマンドプロンプトで遊ぼう
スタートメニューの検索ボックスにcmdと入力するとcmd.exeがヒットします.これがコマンドプロンプトです.ここからPythonを起動してみましょう.やり方は簡単です.コマンドプロンプトにpythonと入力するだけです.すると,Pythonの諸元とともに>>>の入力列が新たに表示されています.ここにコマンドを打っていきます.AnacondaでPythonをインストールした人はAnaconda Promptを起動します.
Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 14:57:15) [MSC v.1915 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or license" for more information. >>>
はじめに,最も簡単な1+1や1×1を入力してみます.
>>> 1 + 1 2 >>> 1 * 1 1
計算式の構築自体はExcelに近いものがあります.しかし,いくつかはExcelと違うものがあるので注意しましょう.次ははpythonの算術演算子の例です.上から足し算,引き算,掛け算,割り算,余り,べき乗となります.特に余りやべき乗はExcelと違うので注意しましょう.
>>> 2 + 2 4 >>> 2 - 2 0 >>> 2 * 2 4 2 / 2 1.0 >>> 2 % 2 0 >>> 2 ** 2 4
次にプログラミングで多用する比較演算子を勉強しましょう.同じであることを示す記号が=ではなく==な点に注意しましょう.入力した条件が正しければTrueを正しくなければFalseを返します.
>>> 1 < 3 True >>> 1 > 3 False >>> 1 == (1 * 1) True >>> 1 > 1 False >>> 1 >= 1 True >>> 1 < 1 False >>> 1 <= 1 True
次に文字列と数字の違いを説明します.abcやJapといった文字は数字ではありません.これらは文字列と呼ばれます.一方で123や2.56は数字です.簡単な話ですが,この点を理解していないとエラーの原因になります.次の図2.6は整数と文字列の違いをコマンドプロンプトで表したものです.整数(int)と少数(double or float)同士は加減乗除が可能です.また,int( )を使うと( )内の数値を整数に変換します.str( )は( )内の数値を文字列に変換します.文字列となった数値はダブルクォーテーション” ”で囲まれます.そして,数字と文字列は足し合わせることが当然できません.整数である123と文字列であるstr(2.56)は足し合わせることができないのでエラーとなります.
>>> 123 +2.56 125.56 >>> int(2.56) 2 >>> round(2.56) 3 >>> round(2.56,1) 2.6 >>> str(2.56) "2.56" >>> "2.56" 2.56 >>> 123 + str(2.56) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for +: 'int' and 'str'
最後にprint文と変数について簡単に説明します.print文とは,print( )で構成され,( )内に書かれたものを画面に出力します.変数はy = ax+bにあるaやxのようなものを指します.このaやxは特に制約がない限りどのような数値でも取り得ます.実際にどの様に取り扱われるかを以下に示しました.
>>> a = 3 >>> print(a) 3 >>> b = "abc" >>> print(a,b) 3 abc >>> c = 5 >>> print(a * c) 15 >>> d = "my age is" >>> print(d,24) my age is 24 >>> e = "I am" >>> print(e,24,f) I am 24 years old >>> g = str(24) >>> print(e + g + f) I am24 years old
変数はその中に数値だけでなく,文字列も含めることができます.文字や数値を” “で囲むとプログラムには文字列として認識されます.図中の”abc”はその一例です.また,print文では文字列と数値を組み合わせることも出来ます.My age is 24 や I am 24 years oldはその一例です.更に,最後のprint文のようにstr()文で数値を文字列に変換し,文字列を格納した変数を足し合わせると最終行のように文字列の一塊として出力されるようになります.ちなみに,このように対話形式でプログラムを簡易的に行う手法をインタラクティブモードと呼びます.このモードを終了させるにはquit( )を入力します.
>>> quit() C:\Users\username
コラム2.禅の心
PythonのおもしろコマンドとしてImport thisがあります.これはPythonプログラミングの基本ルールであるZen of Pythonを示したものです.Zenはあの禅です.心意気です.早速,コマンドラインからImport thisを実行してみましょう.エディタがしっかり動作するかをチェックするのにも良いでしょう.
>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
醜いより美しいのが良い。
醜いより美しいのが良い。
Explicit is better than implicit.
暗黙的より明示的が良い。
暗黙的より明示的が良い。
Simple is better than complex.
複合よりも単純、
複合よりも単純、
Complex is better than complicated.
複雑よりは複合。
複雑よりは複合。
Flat is better than nested.
入れ子よりはフラット。
入れ子よりはフラット。
Sparse is better than dense.
ギュッと詰まるよりはパラッとした方が良い。
ギュッと詰まるよりはパラッとした方が良い。
Readability counts.
読みやすさには配慮。
読みやすさには配慮。
Special cases aren't special enough to break the rules.
特別な場合と言ってもルールを破る程特別にならず。
特別な場合と言ってもルールを破る程特別にならず。
Although practicality beats purity.
そうはいっても、純粋さより実用が勝る。
そうはいっても、純粋さより実用が勝る。
Errors should never pass silently.
エラーは黙って通過させぬこと、
Unless explicitly silenced.
明示的に黙らせない限りにおいて。
エラーは黙って通過させぬこと、
Unless explicitly silenced.
明示的に黙らせない限りにおいて。
In the face of ambiguity, refuse the temptation to guess.
曖昧さに出会ったら、推測で済ます誘惑を拒絶すべし。
曖昧さに出会ったら、推測で済ます誘惑を拒絶すべし。
There should be one-- and preferably only one --obvious way to do it.
それをする明白な方法は一つあるはず。そして望ましいのは一つだけあること、
それをする明白な方法は一つあるはず。そして望ましいのは一つだけあること、
Although that way may not be obvious at first unless you're Dutch.
あなたがオランダ人で無い限り、初めはそうした方法が明らかに思えないだろうけど。
あなたがオランダ人で無い限り、初めはそうした方法が明らかに思えないだろうけど。
Now is better than never.
全くやらないより今、
全くやらないより今、
Although never is often better than *right* now.
と言っても、すぐ今やるよりは全くやらないよりマシなことは多い。
と言っても、すぐ今やるよりは全くやらないよりマシなことは多い。
If the implementation is hard to explain, it's a bad idea.
もし実装を説明するのが難しいなら、そもそも良い考えではない。
もし実装を説明するのが難しいなら、そもそも良い考えではない。
If the implementation is easy to explain, it may be a good idea.
もし実装を簡単に説明できたら、それは良い考え。
もし実装を簡単に説明できたら、それは良い考え。
Namespaces are one honking great idea -- let's do more of those!
名前空間はすごく良い考え。そういうのをもっとやろう。
名前空間はすごく良い考え。そういうのをもっとやろう。
上のオランダ人のくだりは,Python を開発した Guido van Rossum 氏のことだそうです.