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

Pythonのアスタリスク(*)演算子とは?意味と使い方を徹底解説

Pythonにおけるアスタリスク(*)演算子の役割

Pythonでは、アスタリスク(*)演算子が複数の意味を持って使われます。文脈によって動作が異なるため、それぞれの用途を理解しておくことが重要です。主な使い方は以下の3つです。

  • 数値型同士の乗算(掛け算)
  • 文字列・リスト・タプルなどのシーケンス型の繰り返し
  • 関数定義における可変長引数の受け取り

1. 数値型に対する乗算演算子

数値データ型に対して * を使うと、通常の掛け算として機能します。整数・浮動小数点数・複素数のいずれにも対応しています。

>>> a = 10; b = 20
>>> a * b
200

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

>>> a = 2+3j; b = 3+2j
>>> a * b
13j

2. シーケンス型に対する繰り返し演算子

文字列(str)、リスト(list)、タプル(tuple)といったシーケンス型に対して * を使うと、その要素を指定した回数だけ繰り返した新しいシーケンスが生成されます。

>>> s = "Hello"
>>> s * 3
'HelloHelloHello'

>>> L1 = [1, 2, 3]
>>> L1 * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]

>>> T1 = (1, 2, 3)
>>> T1 * 3
(1, 2, 3, 1, 2, 3, 1, 2, 3)

この性質を利用すると、例えば区切り線を簡単に作成できます。

>>> "-" * 30
'------------------------------'

3. 関数定義での可変長引数(*args)

関数を定義する際に引数名の前にアスタリスクを1つ付けると、呼び出し側から任意の個数の位置引数を受け取れるようになります。関数の内部では、これらの引数はタプルとして扱われます。

>>> def function(*arg):
...     print(type(arg))
...     for i in arg:
...         print(i)

この関数を複数の引数で呼び出すと、次のように動作します。

>>> function(1, 2, 3)
<class 'tuple'>
1
2
3

まとめ

Pythonの * 演算子は、数値なら乗算、シーケンスなら繰り返し、関数定義なら可変長引数の受け取りと、状況に応じて異なる役割を果たします。また、**(ダブルアスタリスク)を使うとべき乗の計算やキーワード引数(**kwargs)の受け取りも可能になるため、合わせて覚えておくと便利です。

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

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

  2. Pythonの「%」演算子とは?文字列フォーマットの基本と使い方を解説

    Pythonの「%」演算子の役割 Pythonにおける「%(パーセント)」は、文字列フォーマット演算子(補間演算子)として機能します。「format % values」という形式で記述すると、フォーマット文字列内の変換指定子が、values側の要素によって置き換えられます。この仕組みは、C言語のsprintf()関数とよく似ています。 基本的な使い方:文字列の埋め込み 最もシンプルな例は、文字列の中に変数の値を埋め込むケースです。 >>> lang = Python >>> print %s is awesome! % lang Python is awe