Python入門(前編)- プログラミングのパーツを習得
Webブラウザで実行できるPython入門の「前編」です。
print()からはじめてプログラミングのパーツとなる各種データ型を中心に学べる教材です。後編では、これらのパーツを組み立ててプログラムを作成します。おすすめの学習方法ではこの教材を利用したPythonの学び方を紹介しています。
前編の目次
本ページのPython実行環境について
- ブラウザでPythonを実行できるPyodide 0.25.0(Python 3.11.3)を利用しています。
- 本ページのコードを試行する用途のみにご利用ください(input()など本ページで使用していない機能には動作しないものがあります)。
Python実行環境 ロード中… しばらくお待ちください
標準出力
Pythonでは標準出力はprint()
関数を使用する。
コメント
Pythonではコメントにはハッシュ(#
)を用いる。
ドキュメント
Pythonファイル、関数、クラス、メソッドの先頭に、「docstring(ドキュメンテーション文字列)」と呼ばれるドキュメントを入力できる。docstringは、トリプルクォート("""
)で囲む。__doc__
属性で取得できる。
変数
ネーミング
Pythonでは、変数名は小文字のスネークケース(snake_case)、定数名は大文字のスネークケース(SNAKE_CASE)で書くのが推奨される。英字、数字、アンダースコア(_
)を使用できるが、先頭に数字は使えない。
組み込みの型や関数の名前を上書きしないように注意する。
代入
変数は後から代入して上書きできる。異なる型の値も代入できる。未定義の変数を使用するとエラーになる。
カンマで区切って同時に複数の変数に代入できる(多重代入)。値の数の方が多い場合は、*
を使うと一部をリストにできる(パッキング)。変数を入れ替えて値の入れ替え(スワップ)ができる。=
を連鎖させると複数の変数に同一の値を代入できる。
リテラル
予約語(キーワード)
変数、関数、クラスなどの名前に予約語(キーワード)は使用できない。
演算子(オペレーター)
算術演算子
変数自身に算術演算した結果を代入する場合、短縮形を使用できる。
比較演算子
値が同じであるかは==
を用いるが、オブジェクトが同一であるか(つまりid
が一致するかどうか)はis
を使用する(違うオブジェクトかはis not
)。id
とはメモリ内のオブジェクトのアドレスであり、id()
関数で調べられる。
所属関係はin
およびnot in
で判定できる。
論理演算子
論理(ブール)演算子には、and
(かつ)、or
(または)、not
(否定)を使用する。他言語でよく用いられる&&
、||
、!
は使用できない。
x or y
は、x
が「偽値」の場合にy
が代入される(論理和代入)。デフォルト値の代入に用いることができる。偽値は、論理演算でFalseに評価される値であり、None、False、数値のゼロ、空のシーケンス(空文字、空のリストなど)がある。
文字列(str)
文字列のデータ作成
文字列のメソッド
文字列には便利なメソッドが実装されている。
文字列のフォーマット出力
format()メソッドまたはf-文字列(フォーマット済み文字列リテラル)を使用して、定型文字列を簡単に作成できる。
その他の書式の指定方法は、以下の記事が参考になる。
リスト
リストのデータ作成
リストのデータ更新
タプル(tuple)
辞書(dict)
辞書のデータ作成
辞書のデータ更新
集合(set)
集合のデータ作成・更新
集合演算
内包表記
リスト、辞書、集合は、内包表記を使用して作成できる。丸括弧で囲んだ場合はジェネレータを返す(ジェネレータ式)。
コピー
Pythonの代入文は、コピーが代入されるのではなく、参照が代入される。そのため、リストや辞書のような可変型(ミュータブル)のデータを代入した場合、代入した時点とはデータが変わる可能性があるので気を付ける。代入した時点のコピーが必要な場合は、標準ライブラリの「copyモジュール」を使用する。
copyモジュールには、copy.copy()
とcopy.deepcopy()
の2つの関数がある。copy.copy()
は「浅いコピー(shallow copy)」、copy.deepcopy()
は「深いコピー(deep copy)」と呼ばれる操作に相当する。
リストや辞書のオブジェクトを要素として含むオブジェクト(複合オブジェクト)をコピーするにはcopy.deepcopy()
を使用する。