デフォルト引数とキーワード引数

開発者向け中級 Python

Jasmin Ludolf

Senior Data Science Content Developer

Average

# Create a custom function
def average(values):
    # Calculate the average
    average_value = sum(values) / len(values)

    # Round the results
    rounded_average = round(average_value, 2)

    # Return rounded_average as an output
    return rounded_average
  • values = 引数
開発者向け中級 Python

引数

  • 関数またはメソッドに渡される値
    • 位置引数
    • キーワード因数
開発者向け中級 Python

位置引数

  • 順番にカンマで区切って渡す引数
# Round pi to 2 digits
print(round(3.1415926535, 2))
3.14
開発者向け中級 Python

キーワード引数

  • keywords に値を割り当てて渡す引数

  • 関数の解釈と引数の追跡に便利

# Round pi to 2 digits 
print(round(number=3.1415926535
開発者向け中級 Python

キーワード引数

  • keywords に値を割り当てて渡す引数

  • 関数の解釈と引数の追跡に便利

# Round pi to 2 digits 
print(round(number=3.1415926535, ndigits=2))
3.14
開発者向け中級 Python

キーワード引数の識別

# Get more information about the help function
print(help(round))
Help on built-in function round in module builtins:

round(number, ndigits=None)
    Round a number to a given precision in decimal digits.

    The return value is an integer if ndigits is omitted or None.  Otherwise,
    the return value has the same type as the number.  ndigits may be negative.
開発者向け中級 Python

キーワード引数

Help on built-in function round in module builtins:

round(number, ndigits=None)
  Round a number to a given precision in decimal digits.

  The return value is an integer if ndigits is omitted or None. Otherwise 
  the return value has the same type as the number. ndigits may be negative.

$$

  • 第1引数:number
  • 第2引数:ndigits
開発者向け中級 Python

デフォルト引数

Help on built-in function round in module builtins:

round(number, ndigits=None)
    Round a number to a given precision in decimal digits.

    The return value is an integer if ndigits is omitted or None.  Otherwise,
    the return value has the same type as the number.  ndigits may be negative.
  • None = 値なし/空

  • デフォルト引数:default値をargumentに設定する方法

  • None2 に上書きする

  • 一般的な値 - デフォルト引数で設定

開発者向け中級 Python

引数の追加

# Create a custom function
def average(values):
    average_value = sum(values) / len(values)
    rounded_average = round(average_value, 2)
    return rounded_average
開発者向け中級 Python

引数の追加

# Create a custom function
def average(values, rounded=False):


開発者向け中級 Python

引数の追加

# Create a custom function
def average(values, rounded=False):

# Round average to two decimal places if rounded is True if rounded == True:
average_value = sum(values) / len(values) rounded_average = round(average_value, 2) return rounded_average
開発者向け中級 Python

引数の追加

# Create a custom function
def average(values, rounded=False):

# Round average to two decimal places if rounded is True if rounded == True: average_value = sum(values) / len(values) rounded_average = round(average_value, 2) return rounded_average
# Otherwise, don't round else: average_value = sum(values) / len(values) return average_value
開発者向け中級 Python

修正した average() 関数を使用する

# List of preparation times (minutes)
preparation_times = [19.23, 15.67, 48.57, 23.45, 12.06, 34.56, 45.67]
開発者向け中級 Python

修正した average() 関数を使用する

# Get the average without rounding
print(average(preparation_times, False))
28.4585714
# Get the average without rounding
print(average(preparation_times))
28.4585714
開発者向け中級 Python

修正した average() 関数を使用する

# Get the rounded average
print(average(values=preparation_times, rounded=True))
28.46
開発者向け中級 Python

練習しましょう!

開発者向け中級 Python

Preparing Video For Download...