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.
- Nyckelord
def
som markerar början på funktionshuvudet. - Ett funktionsnamn för att identifiera funktionen unikt. Funktionsnamn följer samma regler för att skriva identifierare i Python.
- Parametrar (argument) genom vilka vi skickar värden till en funktion. De är valfria.
- Ett kolon (:) för att markera slutet på funktionshuvudet.
- Valfri dokumentationssträng (docstring) för att beskriva vad funktionen gör.
- Ett eller flera giltiga pythonuttalanden som utgör funktionens kropp. Uttalanden måste ha samma indragningsnivå (vanligtvis fyra mellanslag).
- Ett valfritt
return
uttalande 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 return
uttalandet 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 return
uttalandet inte finns i en funktion, returnerar funktionen None
objektet.
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 return
uttalande 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 PythonVariablernas 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:
- Inbyggda funktioner - Funktioner som är inbyggda i Python.
- Användardefinierade funktioner - Funktioner som definieras av användarna själva.