Výchozí a klíčové argumenty

Intermediate Python for Developers

Jasmin Ludolf

Senior Data Science Content Developer

Průměr

# 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 = Argument
Intermediate Python for Developers

Argumenty

  • Hodnoty předané funkci nebo metodě
    • Poziční
    • Klíčové
Intermediate Python for Developers

Poziční argumenty

  • Argumenty uvádějte v pořadí, oddělené čárkami
# Round pi to 2 digits
print(round(3.1415926535, 2))
3.14
Intermediate Python for Developers

Klíčové argumenty

  • Argumenty zadávejte přiřazením hodnot ke klíčovým slovům

  • Užitečné pro přehlednost a sledování argumentů

# Round pi to 2 digits 
print(round(number=3.1415926535
Intermediate Python for Developers

Klíčové argumenty

  • Argumenty zadávejte přiřazením hodnot ke klíčovým slovům

  • Užitečné pro přehlednost a sledování argumentů

# Round pi to 2 digits 
print(round(number=3.1415926535, ndigits=2))
3.14
Intermediate Python for Developers

Identifikace klíčových argumentů

# 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.
Intermediate Python for Developers

Klíčové argumenty

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.

$$

  • První argument: number
  • Druhý argument: ndigits
Intermediate Python for Developers

Výchozí argumenty

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 = žádná hodnota / prázdné

  • Výchozí argument: způsob nastavení výchozí hodnoty pro argument

  • Přepíšeme None na 2

  • Běžně používaná hodnota – nastavte ji pomocí výchozího argumentu

Intermediate Python for Developers

Přidání argumentu

# Create a custom function
def average(values):
    average_value = sum(values) / len(values)
    rounded_average = round(average_value, 2)
    return rounded_average
Intermediate Python for Developers

Přidání argumentu

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


Intermediate Python for Developers

Přidání argumentu

# 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
Intermediate Python for Developers

Přidání argumentu

# 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
Intermediate Python for Developers

Použití upravené funkce average()

# List of preparation times (minutes)
preparation_times = [19.23, 15.67, 48.57, 23.45, 12.06, 34.56, 45.67]
Intermediate Python for Developers

Použití upravené funkce average()

# Get the average without rounding
print(average(preparation_times, False))
28.4585714
# Get the average without rounding
print(average(preparation_times))
28.4585714
Intermediate Python for Developers

Použití upravené funkce average()

# Get the rounded average
print(average(values=preparation_times, rounded=True))
28.46
Intermediate Python for Developers

Pojďme cvičit!

Intermediate Python for Developers

Preparing Video For Download...