Standardargument och nyckelordsargument

Intermediate Python för utvecklare

Jasmin Ludolf

Senior Data Science Content Developer

Medelvärde

# 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 för utvecklare

Argument

  • Värden som skickas till en funktion eller metod
    • Positionella
    • Nyckelord
Intermediate Python för utvecklare

Positionella argument

  • Ange argument i ordning, separerade med kommatecken
# Round pi to 2 digits
print(round(3.1415926535, 2))
3.14
Intermediate Python för utvecklare

Nyckelordsargument

  • Ange argument genom att tilldela värden till keywords

  • Underlättar tolkning och spårning av argument

# Round pi to 2 digits 
print(round(number=3.1415926535
Intermediate Python för utvecklare

Nyckelordsargument

  • Ange argument genom att tilldela värden till keywords

  • Underlättar tolkning och spårning av argument

# Round pi to 2 digits 
print(round(number=3.1415926535, ndigits=2))
3.14
Intermediate Python för utvecklare

Identifiera nyckelordsargument

# 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 för utvecklare

Nyckelordsargument

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.

$$

  • Första argument: number
  • Andra argument: ndigits
Intermediate Python för utvecklare

Standardargument

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 = inget värde / tomt

  • Standardargument: ett sätt att ange ett default-värde för ett argument

  • Vi skriver över None med 2

  • Vanligt förekommande värde – ange det med ett standardargument

Intermediate Python för utvecklare

Lägga till ett argument

# Create a custom function
def average(values):
    average_value = sum(values) / len(values)
    rounded_average = round(average_value, 2)
    return rounded_average
Intermediate Python för utvecklare

Lägga till ett argument

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


Intermediate Python för utvecklare

Lägga till ett 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
Intermediate Python för utvecklare

Lägga till ett 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
Intermediate Python för utvecklare

Använda den modifierade average()-funktionen

# List of preparation times (minutes)
preparation_times = [19.23, 15.67, 48.57, 23.45, 12.06, 34.56, 45.67]
Intermediate Python för utvecklare

Använda den modifierade average()-funktionen

# 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 för utvecklare

Använda den modifierade average()-funktionen

# Get the rounded average
print(average(values=preparation_times, rounded=True))
28.46
Intermediate Python för utvecklare

Nu kör vi en övning!

Intermediate Python för utvecklare

Preparing Video For Download...