【Python入門】9章のまとめ

 ここでは「9章のまとめ」として、9章で学んだ内容を総覧します。Pythonに用意されている代表的な組み込み関数や、プログラムの入出力・実行に関連する機能まで幅広く学習しました。これらの組み込み関数を活用することで、コード量を減らし、より読みやすく効率的なプログラミングが可能になります。

1.入出力と文字列フォーマット

1.1.入出力に使う関数(print、input)

 print(): 画面(標準出力)に文字列や変数の値を出力する関数。改行や区切り文字などを指定するオプションを持ちます。

print("Hello, Python!", end=" ")
print("続けて表示します。")

input(): ユーザからの入力(標準入力)を受け取り、その結果を文字列として返します。

name = input("名前を入力してください: ")
print(f"こんにちは、{name}さん")

1.2.format関数

format(value, format_spec) の形式で呼び出し、値を任意の形式(文字列)に変換できます。

num = 123.4567
formatted = format(num, ".2f")  # 小数点以下2桁に整形
print(formatted)  # "123.46"

1.3.formatメソッド

文字列のメソッドとして str.format() を呼び出し、プレースホルダ {} に値を差し込みます。

template = "名前: {0}, 年齢: {1}"
message = template.format("山田", 20)
print(message)  # "名前: 山田, 年齢: 20"

1.4.f文字列

 Python 3.6以降で導入された機能で、文字列リテラルの先頭に f を付け、 {変数や式} を埋め込むと、その場で値を展開できます。

age = 30
print(f"私は{age}歳です")  # "私は30歳です"

式を直接埋め込むことも可能で、可読性が高いのが特長です。

2.オブジェクトの生成や変換に使う関数

2.1.主な変換関数

int(), float(), str(), bool() など、他の型を目的の型に変換するための関数が用意されています。

print(int("10") + 5)  # 15
print(float("3.14") * 2)  # 6.28

2.2.slice関数

  • スライスを生成するための関数で、slice(start, stop[, step]) という構文を用います。
  • リストやタプルなどのシーケンスを部分的に取得する際に役立ちます。
data = [10, 20, 30, 40, 50]
s = slice(1, 4)  # 1~3番目の要素
print(data[s])   # [20, 30, 40]

2.3.整数を2,8,16進数の文字列に変換する関数

  • bin(): 2進数文字列に変換 (0b プレフィックス付き)
  • oct(): 8進数文字列に変換 (0o プレフィックス付き)
  • hex(): 16進数文字列に変換 (0x プレフィックス付き)
n = 255
print(bin(n))  # "0b11111111"
print(oct(n))  # "0o377"
print(hex(n))  # "0xff"

2.4.オブジェクトを文字列に変換する関数

  • str(): 人間が読みやすい形式の文字列へ
  • repr(): Pythonオブジェクトとして再現可能な形式の文字列へ
x = 3.14
print(str(x))   # "3.14"
print(repr(x))  # "3.14"

3.計算で使う関数

3.1.主な計算系関数

  • abs(): 絶対値を返す。
  • round(): 四捨五入した値を返す。
  • divmod(a, b): 商と余りのタプルを返す。
  • pow(a, b[, mod]): aのb乗を返す。modを指定すると(aのb乗) % modを返す。
print(abs(-10))      # 10
print(round(3.1415, 2))  # 3.14
print(divmod(10, 3)) # (3, 1)
print(pow(2, 3))     # 8

4.イテラブルに適用する関数

4.1.map, filter, enumerate, zip など

  • map(func, iterable): 各要素に関数 func を適用した結果を順に返すイテレータ
  • filter(func, iterable): 各要素に func を適用し、True を返した要素だけを返すイテレータ
  • enumerate(iterable, start=0): イテラブルの要素にインデックスを付与して返す
  • zip(*iterables): 複数のイテラブルを並列に処理するため、要素をタプルとして返す
numbers = [1, 2, 3, 4]
doubled = list(map(lambda x: x*2, numbers))       # [2, 4, 6, 8]
even = list(filter(lambda x: x % 2 == 0, numbers)) # [2, 4]
for i, v in enumerate(["apple", "banana"]):
    print(i, v)  # 0 apple / 1 banana
for a, b in zip([1,2],[3,4]):
    print(a, b)  # (1,3) / (2,4)

5.オブジェクトやクラスを調べる関数、プログラムの実行に関連する関数

5.1.オブジェクトやクラスを調べる関数

  • type(obj): オブジェクトの型を返す
  • dir(obj): オブジェクトが持つ属性やメソッドを一覧で返す
  • help(obj): オブジェクトの説明文(docstring)を表示(対話環境で有効)
  • isinstance(obj, classinfo): 指定クラスのインスタンスかどうかをチェック

5.2.プログラムの実行に関連する関数

  • exec(code): 文字列として渡されたPythonコードを動的に実行
  • eval(expression): 文字列として渡された式を評価して結果を返す
  • compile(source, filename, mode): コードをコンパイルオブジェクトに変換し、execeval で実行可能にする
expr = "3 + 2 * 4"
result = eval(expr)  
print(result)  # 11

code = "print('Hello from exec!')"
exec(code)  # Hello from exec!

まとめ

 ここまで9章では、入出力・文字列フォーマット、オブジェクトの生成や変換、イテラブル操作、プログラム実行に関連する関数など、Pythonの組み込み関数を幅広く解説してきました。これらをうまく使いこなすことで、よりシンプルで可読性の高いコードを書くことができ、開発効率を大きく向上させられます。
 次のコンテンツでは、Python入門の後半パート「PartⅣ」に突入します。10章ではライブラリ(モジュール)の使い方について解説し、より実践的なPythonプログラミングの世界へ踏み込んでいきます。