Argumente implicite și cu cuvinte cheie

Python intermediar pentru dezvoltatori

Jasmin Ludolf

Senior Data Science Content Developer

Medie

# 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 intermediar pentru dezvoltatori

Argumente

  • Valori furnizate unei funcții sau metode
    • Poziționale
    • Cu cuvinte cheie
Python intermediar pentru dezvoltatori

Argumente poziționale

  • Furnizați argumentele în ordine, separate prin virgulă
# Round pi to 2 digits
print(round(3.1415926535, 2))
3.14
Python intermediar pentru dezvoltatori

Argumente cu cuvinte cheie

  • Furnizați argumentele atribuind valori cuvintelor cheie

  • Utile pentru interpretarea și urmărirea argumentelor

# Round pi to 2 digits 
print(round(number=3.1415926535
Python intermediar pentru dezvoltatori

Argumente cu cuvinte cheie

  • Furnizați argumentele atribuind valori cuvintelor cheie

  • Utile pentru interpretarea și urmărirea argumentelor

# Round pi to 2 digits 
print(round(number=3.1415926535, ndigits=2))
3.14
Python intermediar pentru dezvoltatori

Identificarea argumentelor cu cuvinte cheie

# 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 intermediar pentru dezvoltatori

Argumente cu cuvinte cheie

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.

$$

  • Primul argument: number
  • Al doilea argument: ndigits
Python intermediar pentru dezvoltatori

Argumente implicite

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 = nicio valoare / gol

  • Argument implicit: mod de a seta o valoare implicită pentru un argument

  • Suprascriem None cu 2

  • Valoare utilizată frecvent – setați-o cu un argument implicit

Python intermediar pentru dezvoltatori

Adăugarea unui argument

# Create a custom function
def average(values):
    average_value = sum(values) / len(values)
    rounded_average = round(average_value, 2)
    return rounded_average
Python intermediar pentru dezvoltatori

Adăugarea unui argument

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


Python intermediar pentru dezvoltatori

Adăugarea unui argument

# 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 intermediar pentru dezvoltatori

Adăugarea unui argument

# 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 intermediar pentru dezvoltatori

Utilizarea funcției `average()` modificate

# List of preparation times (minutes)
preparation_times = [19.23, 15.67, 48.57, 23.45, 12.06, 34.56, 45.67]
Python intermediar pentru dezvoltatori

Utilizarea funcției `average()` modificate

# Get the average without rounding
print(average(preparation_times, False))
28.4585714
# Get the average without rounding
print(average(preparation_times))
28.4585714
Python intermediar pentru dezvoltatori

Utilizarea funcției `average()` modificate

# Get the rounded average
print(average(values=preparation_times, rounded=True))
28.46
Python intermediar pentru dezvoltatori

Să exersăm!

Python intermediar pentru dezvoltatori

Preparing Video For Download...