Pythonの*演算子:初心者向けガイド

JavaScriptを有効にしてください

前書き

Pythonでプログラミングを始めたばかりの方にとって、さまざまな演算子がどのように機能するかを理解することは、コーディングスキルを向上させる上で非常に重要です。
この記事では、Pythonにおける*演算子の使い方に焦点を当て、その多様な用途を初心者にも分かりやすく解説します。

*演算子:乗算

Pythonにおける最も基本的な*演算子の使い方は、数値の乗算です。2つの数値を掛け合わせることができます。

1
2
result = 3 * 4
print(result)  # 出力: 12

この例では、3と4を掛け合わせ、結果として12が出力されます。

**演算子:べき乗の計算

**演算子は、数値のべき乗を計算するために使用されます。
これにより、ある数値を別の数値で指定された回数だけ乗算します。

1
2
result = 2 ** 3
print(result)  # 出力: 8

この例では、2の3乗が計算され、結果として8が出力されます。
これは2 * 2 * 2と同じです。

*演算子の応用:リストの繰り返し

*演算子は、リストやタプルなどのシーケンスの要素を繰り返すためにも使用できます。
これにより、同じ要素の繰り返しを含む新しいリストやタプルを簡単に作成することができます。

1
2
repeated_list = [1, 2] * 3
print(repeated_list)  # 出力: [1, 2, 1, 2, 1, 2]

この例では、リスト[1, 2]の要素が3回繰り返され、新しいリストが作成されます。

*演算子の応用:リストの結合

複数のリストを結合する際に*演算子を使用することができます。

1
2
3
4
list_one = [1, 2, 3]
list_two = [4, 5, 6]
combined_list = [*list_one, *list_two]
print(combined_list)  # 出力: [1, 2, 3, 4, 5, 6]

*演算子の高度な使用法:引数のアンパック

Pythonでは、*演算子を使って関数にリストやタプルの要素を個別の引数として渡すことができます。
これを引数のアンパックと呼びます。

1
2
3
4
5
def add(a, b):
    return a + b

numbers = [1, 2]
print(add(*numbers))  # 出力: 3

この例では、リストnumbersの要素がadd関数の引数aとbにアンパックされます。

*演算子の使用法:可変長引数

関数を定義する際、*演算子を使って可変長引数を受け取ることができます。
これにより、関数は任意の数の引数を受け取ることが可能になります。

1
2
3
4
5
6
7
def multiply(*args):
    result = 1
    for number in args:
        result *= number
    return result

print(multiply(1, 2, 3, 4))  # 出力: 24

この例では、multiply関数が複数の引数を受け取り、それらの乗算結果を返します。

**演算子の応用:辞書の結合

**演算子は、2つ以上の辞書を結合するのにも使えます。
これにより、複数の辞書のキーと値を一つの辞書にまとめることができます。

1
2
3
4
dict_one = {'a': 1, 'b': 2}
dict_two = {'c': 3, 'd': 4}
combined_dict = {**dict_one, **dict_two}
print(combined_dict)  # 出力: {'a': 1, 'b': 2, 'c': 3, 'd': 4}

**演算子の応用:辞書のアップデート

既存の辞書に新しいキーと値のペアを追加する際にも**演算子を使用できます。

1
2
3
4
original_dict = {'a': 1, 'b': 2}
new_data = {'b': 3, 'c': 4}
original_dict = {**original_dict, **new_data}
print(original_dict)  # 出力: {'a': 1, 'b': 3, 'c': 4}

**演算子の応用:キーワード引数のアンパック

関数を呼び出す際、**演算子を使って辞書のキーと値のペアをキーワード引数としてアンパックすることができます。
これにより、関数に渡す引数を動的に指定することが可能になります。

1
2
3
4
5
def greet(first_name, last_name):
    print(f"Hello, {first_name} {last_name}!")

person = {"first_name": "John", "last_name": "Doe"}
greet(**person)  # 出力: Hello, John Doe!

この例では、person辞書がgreet関数の引数first_namelast_nameにアンパックされます。

**演算子の応用:可変長キーワード引数

関数を定義する際、**演算子を使って可変長キーワード引数を受け取ることができます。
これにより、関数は任意の数のキーワード引数を受け取ることが可能になります。

1
2
3
4
5
6
7
8
9
def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

print_info(name="John", age=30, country="USA")
# 出力:
# name: John
# age: 30
# country: USA

この例では、print_info関数が複数のキーワード引数を受け取り、それらを順に出力します。

まとめ

この記事では、Pythonプログラミング言語における***演算子の使用法に焦点をあて、その多用途性と柔軟性を紹介しました。
*演算子は、基本の数値乗算、リストやタプルの繰り返し、リストの結合、さらには関数の引数リストのアンパックや可変長引数の受け取りに役立ちます。
一方、**演算子は数値のべき乗計算、辞書の結合やアップデート、辞書のアンパックを介した関数のキーワード引数の受け渡し、そして可変長キーワード引数の受け取りに使用されます。
これらの演算子を駆使することで、Pythonにおけるコードの柔軟性と簡潔さを飛躍的に向上させていきましょう。


Pythonを本格的に勉強したい方は、初心者に優しく分かりやすいPyQで学ぶのが最適です。
価格もリーズナブルなのでオススメです。



スポンサーリンク

共有

もふもふ
著者
もふもふ
プログラマ。汎用系→ゲームエンジニア→Webエンジニア→QAエンジニア