Python入門(前編)- プログラミングのパーツを習得

Webブラウザで実行できるPython入門の「前編」です。

print()からはじめてプログラミングのパーツとなる各種データ型を中心に学べる教材です。後編では、これらのパーツを組み立ててプログラムを作成します。おすすめの学習方法ではこの教材を利用したPythonの学び方を紹介しています。

本ページのPython実行環境について

  • ブラウザでPythonを実行できるPyodide 0.25.0(Python 3.11.3)を利用しています。
  • 本ページのコードを試行する用途のみにご利用ください(input()など本ページで使用していない機能には動作しないものがあります)。

標準出力

Pythonでは標準出力print()関数を使用する。

print_stdout.py
実行結果クリア

コメント

Pythonではコメントにはハッシュ(#)を用いる。

comment.py
実行結果クリア

ドキュメント

Pythonファイル、関数、クラス、メソッドの先頭に、「docstring(ドキュメンテーション文字列)」と呼ばれるドキュメントを入力できる。docstringは、トリプルクォート(""")で囲む。__doc__属性で取得できる。

docstring.py
実行結果クリア

変数

ネーミング

Pythonでは、変数名は小文字のスネークケース(snake_case)、定数名は大文字のスネークケース(SNAKE_CASE)で書くのが推奨される。英字、数字、アンダースコア(_)を使用できるが、先頭に数字は使えない。

variable_naming.py
実行結果クリア

組み込みの型や関数の名前を上書きしないように注意する。

dont_overwrite_builtins.py
実行結果クリア

代入

変数は後から代入して上書きできる。異なる型の値も代入できる。未定義の変数を使用するとエラーになる。

variable_assign.py
実行結果クリア

カンマで区切って同時に複数の変数に代入できる(多重代入)。値の数の方が多い場合は、*を使うと一部をリストにできる(パッキング)。変数を入れ替えて値の入れ替え(スワップ)ができる。=を連鎖させると複数の変数に同一の値を代入できる。

variable_assign_multi.py
実行結果クリア

リテラル

コード
実行結果クリア

予約語(キーワード)

変数、関数、クラスなどの名前に予約語(キーワード)は使用できない。

keywords.py
実行結果クリア

演算子(オペレーター)

算術演算子

operator_math.py
実行結果クリア

変数自身に算術演算した結果を代入する場合、短縮形を使用できる。

operator_self_assign.py
実行結果クリア

比較演算子

operator_comparison.py
実行結果クリア

値が同じであるか==を用いるが、オブジェクトが同一であるか(つまりidが一致するかどうか)はisを使用する(違うオブジェクトかはis not)。idとはメモリ内のオブジェクトのアドレスであり、id()関数で調べられる。

operator_identity.py
実行結果クリア

所属関係inおよびnot inで判定できる。

operator_contains.py
実行結果クリア

論理演算子

論理(ブール)演算子には、and(かつ)、or(または)、not(否定)を使用する。他言語でよく用いられる&&||!は使用できない。

operator_bool.py
実行結果クリア

x or yは、xが「偽値」の場合にyが代入される(論理和代入)。デフォルト値の代入に用いることができる。偽値は、論理演算でFalseに評価される値であり、None、False、数値のゼロ、空のシーケンス(空文字、空のリストなど)がある。

operator_or_assign.py
実行結果クリア

文字列(str)

文字列のデータ作成

str_basic.py
実行結果クリア

文字列のメソッド

文字列には便利なメソッドが実装されている。

str_method.py
実行結果クリア

文字列のフォーマット出力

format()メソッドまたはf-文字列(フォーマット済み文字列リテラル)を使用して、定型文字列を簡単に作成できる。

str_format.py
実行結果クリア

その他の書式の指定方法は、以下の記事が参考になる。

ログファイルでは、以下のようにファイル名に日付を含めることがよくあります。 file_20180904.txt 日付の部分(20180904)は毎日変わるのでコードで毎回作成し直す必要があ…

リスト

リストのデータ作成

list_basic.py
実行結果クリア

リストのデータ更新

list_element.py
実行結果クリア

タプル(tuple)

tuple_basic.py
実行結果クリア

辞書(dict)

辞書のデータ作成

dict_basic.py
実行結果クリア

辞書のデータ更新

dict_kvpair.py
実行結果クリア

集合(set)

集合のデータ作成・更新

set_basic.py
実行結果クリア

集合演算

set_operation.py
実行結果クリア

内包表記

リスト、辞書、集合は、内包表記を使用して作成できる。丸括弧で囲んだ場合はジェネレータを返す(ジェネレータ式)。

comprehensions.py
実行結果クリア

コピー

Pythonの代入文は、コピーが代入されるのではなく、参照が代入される。そのため、リストや辞書のような可変型(ミュータブル)のデータを代入した場合、代入した時点とはデータが変わる可能性があるので気を付ける。代入した時点のコピーが必要な場合は、標準ライブラリの「copyモジュール」を使用する。

copyモジュールには、copy.copy()copy.deepcopy()の2つの関数がある。copy.copy()は「浅いコピー(shallow copy)」、copy.deepcopy()は「深いコピー(deep copy)」と呼ばれる操作に相当する。

copy_copy.py
実行結果クリア

リストや辞書のオブジェクトを要素として含むオブジェクト(複合オブジェクト)をコピーするにはcopy.deepcopy()を使用する。

copy_deepcopy.py
実行結果クリア