Argumenty domyślne i słów kluczowych

Python dla programistów – poziom średniozaawansowany

Jasmin Ludolf

Senior Data Science Content Developer

Średnia

# 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
Python dla programistów – poziom średniozaawansowany

Argumenty

  • Wartości przekazywane do funkcji lub metody
    • Pozycyjne
    • Słów kluczowych
Python dla programistów – poziom średniozaawansowany

Argumenty pozycyjne

  • Argumenty podawane w kolejności, rozdzielone przecinkami
# Round pi to 2 digits
print(round(3.1415926535, 2))
3.14
Python dla programistów – poziom średniozaawansowany

Argumenty słów kluczowych

  • Argumenty przekazywane przez przypisanie wartości do słów kluczowych

  • Przydatne do interpretacji i śledzenia argumentów

# Round pi to 2 digits 
print(round(number=3.1415926535
Python dla programistów – poziom średniozaawansowany

Argumenty słów kluczowych

  • Argumenty przekazywane przez przypisanie wartości do słów kluczowych

  • Przydatne do interpretacji i śledzenia argumentów

# Round pi to 2 digits 
print(round(number=3.1415926535, ndigits=2))
3.14
Python dla programistów – poziom średniozaawansowany

Identyfikowanie argumentów słów kluczowych

# 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 dla programistów – poziom średniozaawansowany

Argumenty słów kluczowych

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.

$$

  • Pierwszy argument: number
  • Drugi argument: ndigits
Python dla programistów – poziom średniozaawansowany

Argumenty domyślne

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 = brak wartości / puste

  • Argument domyślny: sposób ustawienia domyślnej wartości dla argumentu

  • Nadpisujemy None wartością 2

  • Często używana wartość – ustaw ją za pomocą argumentu domyślnego

Python dla programistów – poziom średniozaawansowany

Dodawanie argumentu

# Create a custom function
def average(values):
    average_value = sum(values) / len(values)
    rounded_average = round(average_value, 2)
    return rounded_average
Python dla programistów – poziom średniozaawansowany

Dodawanie argumentu

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


Python dla programistów – poziom średniozaawansowany

Dodawanie 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
Python dla programistów – poziom średniozaawansowany

Dodawanie 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
Python dla programistów – poziom średniozaawansowany

Użycie zmodyfikowanej funkcji average()

# List of preparation times (minutes)
preparation_times = [19.23, 15.67, 48.57, 23.45, 12.06, 34.56, 45.67]
Python dla programistów – poziom średniozaawansowany

Użycie zmodyfikowanej funkcji 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 dla programistów – poziom średniozaawansowany

Użycie zmodyfikowanej funkcji average()

# Get the rounded average
print(average(values=preparation_times, rounded=True))
28.46
Python dla programistów – poziom średniozaawansowany

Czas na ćwiczenia!

Python dla programistów – poziom średniozaawansowany

Preparing Video For Download...