Python-funktioner (def): Definition med exempel

I den här artikeln lär du dig om funktioner, vad en funktion är, syntax, komponenter och typer av funktioner. Du lär dig också att skapa en funktion i Python.

Video: Introduktion till Python-funktioner

Vad är en funktion i Python?

I Python är en funktion en grupp relaterade uttalanden som utför en specifik uppgift.

Funktioner hjälper till att bryta vårt program i mindre och modulära bitar. När vårt program blir större och större gör funktioner det mer organiserat och hanterbart.

Dessutom undviker den upprepning och gör koden återanvändbar.

Funktionssyntax

 def function_name (parameters): "" "docstring" "" statement (s)

Ovan visas en funktionsdefinition som består av följande komponenter.

  1. Nyckelord defsom markerar början på funktionshuvudet.
  2. Ett funktionsnamn för att identifiera funktionen unikt. Funktionsnamn följer samma regler för att skriva identifierare i Python.
  3. Parametrar (argument) genom vilka vi skickar värden till en funktion. De är valfria.
  4. Ett kolon (:) för att markera slutet på funktionshuvudet.
  5. Valfri dokumentationssträng (docstring) för att beskriva vad funktionen gör.
  6. Ett eller flera giltiga pythonuttalanden som utgör funktionens kropp. Uttalanden måste ha samma indragningsnivå (vanligtvis fyra mellanslag).
  7. Ett valfritt returnuttalande för att returnera ett värde från funktionen.

Exempel på en funktion

 def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!")

Hur man kallar en funktion i python?

När vi har definierat en funktion kan vi ringa den från en annan funktion, ett program eller till och med Python-prompten. För att ringa en funktion skriver vi helt enkelt funktionsnamnet med lämpliga parametrar.

 >>> greet('Paul') Hello, Paul. Good morning!

Obs: Försök köra ovanstående kod i Python-programmet med funktionsdefinitionen för att se utdata.

 def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!") greet('Paul')

Docstrings

Den första strängen efter funktionshuvudet kallas docstring och är en förkortning för dokumentationssträng. Den används kort för att förklara vad en funktion gör.

Även om det är valfritt är dokumentation en bra programmeringsmetod. Dokumentera alltid din kod om du inte kommer ihåg vad du hade till middag förra veckan.

I exemplet ovan har vi en dokstring direkt under funktionshuvudet. Vi använder vanligtvis trippel citat så att docstring kan sträcka sig upp till flera rader. Denna sträng är tillgänglig för oss som __doc__attribut för funktionen.

Till exempel :

Försök köra följande i Python-skalet för att se utdata.

 >>> print(greet.__doc__) This function greets to the person passed in as a parameter

För att lära dig mer om docstrings i Python, besök Python Docstrings.

Returuttalandet

Det returnuttalandet används för att avsluta en funktion och gå tillbaka till den plats där det hette.

Syntax för retur

 returnera (expression_list)

Detta uttalande kan innehålla ett uttryck som utvärderas och värdet returneras. Om det inte finns något uttryck i uttalandet eller själva returnuttalandet inte finns i en funktion, returnerar funktionen Noneobjektet.

Till exempel:

 >>> print(greet("May")) Hello, May. Good morning! None

Här Noneär det returnerade värdet eftersom greet()namnet direkt skrivs ut och inget returnuttalande används.

Exempel på retur

 def absolute_value(num): """This function returns the absolute value of the entered number""" if num>= 0: return num else: return -num print(absolute_value(2)) print(absolute_value(-4))

Produktion

 2 4

Hur fungerar funktionen i Python?

Funktioner i Python

Variablernas omfattning och livstid

Omfattningen av en variabel är den del av ett program där variabeln känns igen. Parametrar och variabler som definierats inuti en funktion är inte synliga utifrån funktionen. Därför har de en lokal räckvidd.

Längden på en variabel är den period under vilken variabeln går ut i minnet. Längden på variabler i en funktion är så lång som funktionen körs.

De förstörs när vi återvänder från funktionen. Därför kommer en funktion inte ihåg värdet på en variabel från dess tidigare samtal.

Här är ett exempel för att illustrera omfattningen av en variabel i en funktion.

 def my_func(): x = 10 print("Value inside function:",x) x = 20 my_func() print("Value outside function:",x)

Produktion

 Value inside function: 10 Value outside function: 20

Here, we can see that the value of x is 20 initially. Even though the function my_func() changed the value of x to 10, it did not affect the value outside the function.

This is because the variable x inside the function is different (local to the function) from the one outside. Although they have the same names, they are two different variables with different scopes.

On the other hand, variables outside of the function are visible from inside. They have a global scope.

We can read these values from inside the function but cannot change (write) them. In order to modify the value of variables outside the function, they must be declared as global variables using the keyword global.

Types of Functions

Basically, we can divide functions into the following two types:

  1. Inbyggda funktioner - Funktioner som är inbyggda i Python.
  2. Användardefinierade funktioner - Funktioner som definieras av användarna själva.

Intressanta artiklar...