Python 関数のパラメータ タイプ

Abid Ullah 2023年6月21日
  1. Python 関数のパラメーターの型
  2. Pythonの関数とは
  3. Python のデフォルト引数と柔軟な引数
  4. まとめ
Python 関数のパラメータ タイプ

この Python の記事では、Python で使用される関数パラメーターの型を学習します。 パラメータなしでPython関数を書く方法も学びます。

1つまたは複数のパラメーターを使用して Python で関数を作成する方法を見ていきます。 関数と Python での関数の書き方を理解する必要があります。

Python のパラメーター型の概念を理解することから始めましょう。

Python 関数のパラメーターの型

Python 関数パラメーターは、関数が実行時に使用するデータを提供します。 パラメータを別の方法で指定できますが、すべての関数ですべてのメソッドが必要なわけではありません。

それは関数の機能に依存し、状況に応じて決定します。

パラメーターを指定する場合、データ型が割り当てられる場合があり、これらの型は期待されるものと一致する必要があります。そうしないと、コードが正しく実行されません。

パラメーター宣言メソッド default**kwargs、および **args は、Python で任意の関数を操作するときに使用するパラメーターです。

しかし、メイン トピックに入る前に、まず関数の基本を調べて、関数パラメーターを簡単に操作できるようにします。

Pythonの関数とは

Python の関数は、関数が呼び出されたときに実行されるステートメントのリストとして定義できます。 キーワード def を使用して名前を割り当てることで、関数を定義できます。

この記事では、以下の領域を 1つずつ例を挙げて説明します。

  1. 関数を書く
  2. パラメータのない関数
  3. パラメータが 1つの関数
  4. 値を返す関数
  5. 複数の引数、複数の戻り値

関数を書く

まず、必要な関数を作成します。この関数は、呼び出すたびに要件に従って機能します。

任意の数値を取り、その数値の 2 乗を返す関数が必要だとします。 関数の定義は簡単です。

あとは、def キーワードを使用し、その後に関数名、括弧 ()、コロン : を使用するだけです。

コード例:

def my_first_function():

パラメータのない関数

このシナリオでは、数値を 2 乗する関数に square という名前を付けたいと考えています。 これが、square 関数を定義する方法です。

コード例:

def square():

ここで、関数に指定した数値を 2 乗させたい場合は、この機能を関数 square に与える必要があります。

  1. 関数を定義します
  2. 数値に 2 を掛けて変数に代入する
  3. 関数内の変数を出力します
  4. 関数を呼び出さないと出力を取得できないため、関数を呼び出します。

コード例:

def square():
    value = 2 ** 2
    print(value)

関数内で関数を呼び出すことは決してないことに注意してください。 関数の外で呼び出します。

square()

出力:

4

しかし、状況に応じて異なる数の二乗を見つけることができるように、関数に異なる数を与えたい場合はどうでしょうか?

パラメーターが 1つの関数

ここでパラメータが役に立ちます。 関数にパラメーターを渡します。

したがって、任意の数値の 2 乗を知りたいときはいつでも、関数を呼び出してその数値を関数に渡します。

ナノ秒以内に、任意の値の 2 乗が得られます。 例で試してみましょう。パラメーターを使用して square 関数を再度定義してみましょう。

コード例:

def square(number):

    value = number ** 2
    print(value)

ここで、関数を呼び出して乱数を与え、正しい平方が返されるかどうかを確認します。

square(5)

出力:

25

25 の 2 乗を見つけるには、関数 square を呼び出して値 25 を与えます。

square(25)

出力:

625

値を返す関数

値を直接出力しない場合は、値を返して別の変数に代入します。 return キーワードを使用します。

以下の例を参照してください。

def square(number):
    values = number ** 2
    return values

ここで、関数の外部にある変数に関数を代入します。

values = square(3)

上記のコードの出力を確認するために、作成した変数を出力します。

print(values)

出力:

9

複数の引数と複数の戻り値

次に、次のことを確認します。

  1. 関数が複数のパラメーターを受け入れる方法
  2. 関数に複数の引数を渡す方法
  3. 複数の戻り値を取得するにはどうすればよいですか

例を使ってこれらすべてを実行してみましょう。 複数のパラメーターを受け取り、複数の引数と複数の戻り値を取る関数を定義します。

コード例:

def raise_to_power(val, val2):
    return val ** val2

ここで、関数を呼び出して、関数 val, val2 で言及されているパラメーターに 2つの値を渡します。

print(raise_to_power(3, 5))

出力:

243

Python のデフォルト引数と柔軟な引数

複数のパラメーターを受け取る関数を作成していて、これらのパラメーターの一部に共通の値があるとします。

この場合、すべての関数を指定せずに関数を呼び出したいと思います。 特に指定されていない場合に、一部のパラメータにデフォルトの引数を使用させたい場合があります。

ここで、次のことを学びます。

  1. デフォルト引数を持つ関数の書き方
  2. *args - 柔軟な引数により、関数に任意の数の引数を渡すことができます。
  3. **kwargs - キーワード引数

デフォルトの引数値で関数を定義します。 関数ヘッダーで、目的のパラメーターの後に等号とデフォルトの引数値を続けます。

コード例:

def power(word, pow=1):
    words = word ** pow
    return words

ここで、関数 power を呼び出し、パラメーター word の引数のみを渡します。

print(power(3))

出力:

3

関数の 2 番目のパラメーターのデフォルト値は 1 で、3 乗 1 = 3 です。

Python 関数の柔軟な引数 *args

関数に与えられた引数の数がわからない場合は、関数仕様のパラメーター名の前に * を追加します。

関数を書きたいが、ユーザーが渡す引数の数がわからない場合を考えてみましょう。 intfloats を受け取り、それらを追加する関数を定義します。

コード例:

def add_all(*number):
    sum_all = 0
    # apply for loop to sum all the parameter
    for num in number:
        sum_all += num
    return sum_all

次に、関数を呼び出していくつかの引数を渡します。

print(add_all(2, 45, 3.2, 45))

出力:

95.2

キーワード引数 **kwargs

関数では、パラメーター名の宣言の前に、関数で提供されるキーワード引数の数が不明な場合に、2つのアスタリスク ** を追加します。

これにより、関数は引数の辞書を受け取った後、項目に適切にアクセスできます。

コード例:

def my_function(**name):
    print("The child's last name is " + name["last_name"])

次に、関数を呼び出していくつかの引数を渡します。

my_function(first_name="Abid", last_name="Orakzai")

出力:

The child's last name is Orakzai

まとめ

したがって、Python 関数が受け入れることができる 3 種類のパラメーターがあることがわかります。 これらは、任意の *args、キーワード **kwargs、および デフォルト パラメーター です。

キーワード引数を使用すると任意の順序を使用できますが、デフォルト引数は値がない場合の対処に役立ちます。 最後に、Python の任意の引数 *args は、取得する引数の数がわからない場合に役立ちます。

この記事が、Python で使用される関数パラメーターの型の基本的な考え方を理解するのに役立つことを願っています。

著者: Abid Ullah
Abid Ullah avatar Abid Ullah avatar

My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.

LinkedIn

関連記事 - Python Function