Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonにおける二重アスタリスク(**)の意味とは?累乗演算子とキーワード引数の使い方を解説

Pythonにおける「**」(二重アスタリスク)の役割

Pythonでは、記号 ** の意味は使用される場面によって異なります。主に以下の2つの用途があります。

  • 数値型に対しては累乗演算子として機能する
  • 関数定義においては可変長のキーワード引数を受け取るために使われる

それぞれの使い方を具体例とともに詳しく見ていきましょう。

1. 数値型における累乗演算子

整数、浮動小数点数、複素数などの数値データ型に対して、** はべき乗(累乗)を計算する演算子として定義されています。

>>> a = 10; b = 2
>>> a**b
100

>>> a = 1.5; b = 2.5
>>> a**b
2.7556759606310752

>>> a = 3+2j
>>> b = 3+5j
>>> a**b
(-0.7851059645317211+2.350232331971346j)

このように、a**b は「aのb乗」を意味します。整数同士だけでなく、小数や複素数のべき乗計算にも対応しているのがPythonの特徴です。なお、複素数の演算結果も自動的に複素数型で返されます。

2. 関数定義におけるキーワード引数の受け取り

関数を定義する際に、引数名の前に ** を付けると、呼び出し側から任意の個数のキーワード引数を辞書形式で受け取れるようになります。

>>> def function(**arg):
    for i in arg:
        print(i, arg[i])

>>> function(a=1, b=2, c=3, d=4)
a 1
b 2
c 3
d 4

この例では、function(a=1, b=2, c=3, d=4) のように呼び出すと、渡されたキーワード引数がすべて辞書 arg に格納されます。慣例的には **kwargs という引数名がよく使われます。

まとめ

使用場面意味
数値の演算(a**baのb乗(累乗)を計算する
関数定義(def f(**kwargs)任意の数のキーワード引数を辞書として受け取る

同じ記号でも文脈によって意味が大きく変わるのがPythonの面白いところです。** を正しく使いこなせば、柔軟で読みやすいコードが書けるようになります。

  1. Twitterのバイオとは?意味・変更方法と魅力的な例文を徹底解説

    Twitterのバイオとは?その意味と役割Twitterのバイオ(自己紹介文)は、プロフィール設定を構成する重要な要素のひとつです。プロフィール画面では、名前とハンドルネーム(@ユーザー名)の下に表示されます。自分がどのような人物なのかを短く紹介したり、興味や関心を伝えたり、自分のビジネスをアピールしたりするために活用しましょう。バイオの変更方法バイオはプロフィールの編集からいつでも変更できます。ハッシュタグ(#)や@ユーザー名を組み合わせれば、より多くの人に自分のアカウントを見つけてもらいやすくなります。なお、バイオにはスペースを含めて160文字までという文字数制限がある点に注意してください

  2. 【初心者向け】Pythonの if __name__ == "__main__" の意味と使い方を徹底解説

    Pythonインタープリターがソースファイルを読み込むと、そのファイル内に書かれたすべてのコードが実行されます。特殊変数 __name__ の正体コードを実行する前に、Pythonはいくつかの特殊な変数を定義します。その一つが __name__ です。Pythonインタープリターがそのモジュール(ソースファイル)をメインプログラムとして直接実行している場合、__name__ には __main__ という値が設定されます。逆に、そのファイルが別のモジュールからインポートされた場合には、__name__ にはモジュール名が設定されます。なぜこのチェックが必要なのか?この仕組みが役立つ理由は、開発