出力を操作する
プログラミング言語の学習を開始する場合は、まず read-evaluate-print loop (REPL) でいくつかのコード ステートメントを試します。 でも、すぐに本格的な開発に移行したいと考えるでしょう。 つまり、言語の詳しい知識やプログラムの構成方法などについて学習します。
Python プログラム
Python でプログラムを作成するには、プログラムをファイルに格納する必要があります。 ファイルの拡張子は .py である必要があります。
プログラムのアイデアとは、何かを行うか、タスクを実行することです。 プログラムで何かを行うには、タスクを実行するためのステートメントまたは命令を追加する必要があります。 たとえば、命令でテキストを出力したり、何かを計算したりすることができます。 python.py という名前のプログラムの例はこのようになります。
# program.py
sum = 1 + 2
print(sum)
プログラムを実行する
複数のステートメントで構成されるプログラムを作成したとします。 これを実行するには、コンソールで Python 実行可能プログラムを起動します。 コンソールとは、オペレーティング システムと対話できるコマンド ライン アプリケーションです。 プログラムを実行するには、Python 実行可能プログラムの名前を入力し、その後にプログラムの名前を追加します。 次に示すのは、このような実行の例です。
python3 program.py
このようなプログラムを実行すると、コンソールに次の結果が表示されます。
3
print() 関数
最初に行う可能性がある操作の 1 つは、コンソールへの出力です。 コンソールで、コマンドとプログラムを実行できます。 また、情報を入力し、情報をテキストとして画面に表示することもできます。
コンソールに情報を書き込むには、print()
関数を使用し、それをコア関数として実装します。 これはコア関数なので、Python がインストールされている場合はアクセスできます。 プログラムで print()
を使用するには、引数を指定します。
print("show this in the console")
ここでプログラムを実行すると、コンソールに次の結果が表示されます。
show this in the console
コマンドでかっこを使用して print()
が呼び出される方法に注意してください。 これが関数を呼び出す方法です。 丸かっこではなく角かっこ ([]
) を使用した場合、このコードでもう一度プログラムを実行するとわかりますが、動作しません。
print["show this in the console"]
出力は次のようになります。
Traceback (most recent call last):
File "/<path>/program.py", line 1, in <module>
print["show this in the console"]
TypeError: 'builtin_function_or_method' object is not subscriptable
もう 1 つの注意点は、二重引用符 (""
) の使用です。 ここで出力するような値に関して、いわゆる文字列リテラルを宣言する方法は、次のようになります: "show this in the console"。
変数
コーディングで何かを得ようとする場合、データを操作していることを理解する必要があります。 プログラムでデータを処理するとき、プログラムの実行全体を通して特定の値を記憶しておくことが必要な場合もあります。 その場合は、変数を使用します。
次の例では、計算を行い、変数に格納します。
sum = 1 + 2 # 3
product = sum * 2
print(product)
データ型
変数では、あるデータ型が想定されます。 前のプログラムでは、 sum
は int
型を取ります。 ただし、さらに多くのデータ型があります。 よく利用されるものは次のとおりです。
Type | 説明 | 例 |
---|---|---|
数値型 | 数値 (小数部分ありまたはなし) | int, float, complex, no = 3 |
テキスト型 | 文字列 | str = "a literal string" |
ブール型 | Boolean | continue = True |
さらに複雑な型もありますが、まずはこれらから始めましょう。
前述した型のいくつかを示すコードを次に示します。
planets_in_solar_system = 8 # int, pluto used to be the 9th planet, but is too small
distance_to_alpha_centauri = 4.367 # float, lightyears
can_liftoff = True
shuttle_landed_on_the_moon = "Apollo 11" #string
持っている型を知るにはどうすればよいでしょうか。 次のコードに示すように、データが変数に割り当てられるのを見れば、それを突き止めることができます。
distance_to_alpha_centauri = 4.367 # looks like a float
もう 1 つの方法は、type()
関数を使用する方法です。
type(distance_to_alpha_centauri) ## <class 'float'>
演算子
演算子を使用すると、変数とその値に対してさまざまな演算を実行できます。 一般的な考え方として、左側と右側があり、中央に演算子があります。
<left side> <operator> <right side>
上記のプレースホルダー コードの実際の例を次に示します。
left_side = 10
right_side = 5
left_side / right_side # 2
この例ではスラッシュ (/
) を使用して、値 left_side
を 値 right_side
で除算します。
他にも多くの演算子があります。 このユニットでは、よく利用される重要なものについて説明します。
Python では、"算術" 演算子と "代入" 演算子の 2 種類を使用します。
算術演算子
"算術" 演算子を使用すると、加算、減算、除算、乗算のような計算を実行します。 使用できる算術演算子のサブセットを次に示します。
型 | 説明設定 | 例 |
---|---|---|
+ | 2 つの値を加算する加算演算子 | 1 + 1 |
- | 左側から右側の値を除去する減算演算子 | 1 - 2 |
/ | 右側で指定された回数だけ左側を除算する除算演算子 | 10 / 2 |
* | 乗算演算子 | 2 * 2 |
代入演算子
"代入" 演算子を使用し、変数のライフサイクル全体にわたって変数に値を割り当てることができます。 次に、プログラムの作成について学習するときによく利用される代入演算子をいくつか示します。
演算子 | 例 |
---|---|
= | x = 2 x に 2 が格納されます。 |
+= | x += 2 x は 2 だけインクリメントされます。 2 が格納されていた場合、値は 4 になります。 |
-= | x -= 2 x が 2 だけデクリメントされます。 2 が格納されていた場合、値は 0 になります。 |
/= | x /= 2 x は 2 で除算されます。 2 が格納されていた場合、値は 1 になります。 |
*= | x *= 2 x は 2 で乗算されます。 2 が格納されていた場合、値は 4 になります。 |
Dates
プログラムを作成するとき、日付を操作することがあります。 プログラム内の日付は通常、カレンダーの日付と時刻の両方を意味します。
日付は次の例に示すようなさまざまなアプリケーションで使用できます。
- バックアップ ファイル:。 バックアップ ファイルの名前の一部として日付を使用する方法は、バックアップが作成された日時と再作成が必要になる時期を示すのに適しています。
- 条件:。 特定の日付の場合に特定のロジックを実行することができます。
- メトリック:。 日付は、(たとえば) 関数の実行にかかる時間を測定するなど、コードのパフォーマンスを検査するために使用されます。
日付を使用するには、date
モジュールをインポートする必要があります。
from datetime import date
次に、使用する関数を呼び出すことができます。 今日の日付を取得するには、today()
関数を呼び出します。
date.today()
日付をコンソールに表示するには、print()
関数を使用します。 print()
関数は、入力としてさまざまな種類のデータを受け取ります。 今日の日付を表示する方法を次に示します。
print(date.today())
データ型の変換
日付は何かと一緒に使用する必要があります。通常は文字列です。 たとえば、今日の日付をコンソールに表示する場合、問題が発生する可能性があります。
print("Today's date is: " + date.today())
次のようなエラーが表示されます。
Traceback (most recent call last):
File "/<path>/program.py", line 4, in <module>
print("Today's date" + date.today())
TypeError: can only concatenate str (not "datetime.date") to str
このメッセージの最後の行に、問題の内容が示されています。 +
演算子を使用して、2 つの異なるデータ型 (文字列と日付) を結合しようとしています。
このコードを機能させるには、日付を文字列に変換する必要があります。 このような変換を実行するには、ユーティリティ関数 str()
を使用します。
print("Today's date is: " + str(date.today()))
出力は次のようになります。
Today's date is: <date>