Példák a Python funkciókra: Hívás, Behúzás, Argumentumok & Visszatérési értékek

Tartalomjegyzék:

Anonim

Mi a funkció a Pythonban?

A függvény a Pythonban egy kódrészlet, amely hivatkozáskor fut. Arra használják, hogy a kódot egy helyen több helyen is felhasználják. Módszernek vagy eljárásnak is nevezik. A Python számos beépített funkciót biztosít, például print (), input (), compile (), exec (), stb., De szabadságot ad saját funkcióinak létrehozására is.

Ebben az oktatóanyagban megtanuljuk

  • Funkció definiálása és meghívása a Pythonban
  • A behúzás (tér) jelentősége a Pythonban
  • Hogyan adja vissza a funkció értéke?
  • Argumentumok a függvényekben

Funkció definiálása és meghívása a Pythonban

A Pythonban a függvényt a "def" utasítás határozza meg, amelyet a függvény neve és zárójel zár (())

Példa:

Határozzunk meg egy függvényt a "def func1 (): paranccsal, és hívjuk meg a függvényt. A függvény kimenete "Python függvényt tanulok" lesz.

A funkció print func1 () hívja fel a def func1 (): print és a parancsot: „ tanulok Python funkció Nincs.

A Pythonban vannak olyan szabályok, amelyek meghatároznak egy függvényt.

  • Minden argumentumot vagy bemeneti paramétert ezekben a zárójelekben kell elhelyezni
  • A function first utasítás lehet opcionális utasítás-docstring vagy a függvény dokumentációs karakterlánca
  • A kód minden függvényben kettősponttal kezdődik (:) és behúzva kell lennie (szóköz)
  • A return (kifejezés) utasítás kilép egy függvényből, adott esetben visszaadva egy értéket a hívónak. A argumentum nélküli visszatérési utasítás megegyezik a return Nincs értékkel.

A behúzás (tér) jelentősége a Pythonban

Mielőtt megismerkednénk a Python-függvényekkel, fontos, hogy megértsük a Python-függvények deklarálásának behúzási szabályát, és ezek a szabályok alkalmazhatók a Python más elemeire is, például a feltételek, ciklusok vagy változó deklarálására.

A Python egy adott behúzási stílust követ a kód definiálásához, mivel a Python függvényeknek nincsenek kifejezett kezdete vagy vége, mint például göndör zárójelek a függvény kezdetének és leállításának jelzésére, erre a behúzásra kell támaszkodniuk . Itt egy egyszerű példát veszünk a "print" paranccsal. Amikor a "print" funkciót közvetlenül a def func 1 () alá írjuk: Ez " behúzási hibát mutat: behúzott blokkot várunk ".

Most, amikor hozzáadja a behúzást (szóközt) a "nyomtatás" funkció elé, a várt módon kell kinyomtatnia.

Legalább egy behúzás elegendő a kód sikeres működéséhez. De bevált gyakorlatként célszerű körülbelül 3-4 behúzást hagyni a funkciójának hívásához .

Szükséges az is, hogy a behúzás deklarálásakor a kód többi részében ugyanazt a behúzást kell fenntartania . Például az alábbi képernyőképen, amikor egy másik állítást "még mindig a func1-ben" hívunk, és ha az nincs közvetlenül az első nyomtatott utasítás alatt deklarálva, akkor egy behúzási hiba jelenik meg "az unindent nem felel meg más behúzási szintnek".

Most, amikor mindkét állításra ugyanazt a behúzást alkalmazzuk, és ugyanabban a sorban igazítjuk őket, ez adja a várt kimenetet.

Hogyan adja vissza a funkció értéke?

A Return parancs a Pythonban megadja, hogy milyen értéket adjon vissza a függvény hívójának.

Értsük meg ezt a következő példával

1. lépés) Itt - látjuk, ha a függvény nem "visszatér". Például a 4 négyzetet akarjuk megadni, és a kód végrehajtásakor "16" választ kell adnia. Amit akkor ad, amikor egyszerűen a "print x * x" kódot használjuk, de amikor a "print square" függvényt meghívja, akkor a "None" -t adja meg kimenetként. Ennek oka az, hogy amikor a függvényt meghívja, a rekurzió nem történik meg, és leesik a függvény végéről. A Python a "Nincs" értéket adja vissza, mert nem sikerült a függvény vége.

2. lépés: Ennek egyértelműbbé tétele érdekében a nyomtatási parancsot kicseréljük a hozzárendelés parancsra. Ellenőrizzük a kimenetet.

Amikor a "négyzet nyomtatása (4)" parancsot futtatja, az valójában visszaadja az objektum értékét, mivel itt nincs konkrét függvényünk, amelyen átfuthatna, a "Nincs" értéket adja vissza.

3. lépés) Most itt megtudjuk, hogyan lehet letölteni a kimenetet a "return" paranccsal. Amikor a "return" függvényt használja és végrehajtja a kódot, akkor a "16." kimenetet adja

4. lépés) A Python funkciói maguk is objektumok, és az objektumnak van némi értéke. Itt megnézzük, hogyan bánik a Python egy objektummal. A "négyzet nyomtatása" parancs futtatásakor az objektum értékét adja vissza. Mivel egyetlen argumentumot sem adtunk át, nincs külön függvényünk, amelyen itt futtathatnánk, az alapértelmezett értéket (0x021B2D30) adja vissza, amely az objektum helye. A gyakorlati Python programban valószínűleg soha nem lesz rá szükség.

Argumentumok a függvényekben

Az argumentum egy olyan érték, amelyet a függvény továbbít, amikor meghívják.

Más szavakkal, a hívó oldalon ez egy argumentum, a függvény oldalon pedig egy paraméter.

Lássuk, hogyan működik a Python Args -

1. lépés) Az argumentumokat a függvénydefinícióban deklaráljuk. A függvény meghívása közben átadhatja az argsz értékeit az alábbiak szerint

2. lépés : Egy argumentum alapértelmezett értékének deklarálásához rendeljen hozzá egy értéket a függvénydefiníciónál.

Példa: x-nek nincs alapértelmezett értéke. Y = 0 alapértelmezett értékei. Amikor csak egy argumentumot adunk meg a szorzási függvény meghívása közben, a Python a megadott értéket x-hez rendeli, miközben megtartja y = 0 értékét. Ezért x * y = 0 szorzata

3. lépés: Ezúttal az alapértelmezett y = 0 helyett y = 2-re változtatjuk az értéket, és a kimenetet (4x2) = 8 értékkel adja vissza.

4. lépés) Megváltoztathatja az argumentumok Pythonban történő továbbításának sorrendjét is. Itt megfordítottuk az x és y értékek sorrendjét x = 4-re és y = 2-re.

5. lépés) Több argumentum is átadható tömbként. Itt a példában az (* args) függvény meghívásával hívjuk meg a többszörös arg (1,2,3,4,5) értéket.

Példa: Több arg-ot deklaráltunk számként (1,2,3,4,5), amikor meghívjuk az (* args) függvényt; kiírja a kimenetet (1,2,3,4,5)

Tippek :

  • A Python 2.7-ben. a funkció túlterhelését a Python nem támogatja. Funkció A túlterhelés több azonos nevű metódus létrehozásának lehetősége, különböző megvalósítással. A funkció túlterhelését a Python 3 teljes mértékben támogatja
  • A módszerek és a funkciók meglehetősen összetéveszthetők. A Python metódusai objektumpéldányokkal vannak társítva, míg a függvények nem. Amikor a Python metódust hív meg, a hívás első paraméterét a megfelelő objektum hivatkozáshoz köti. Egyszerű szavakkal, a Python önálló függvénye "függvény", míg az osztály vagy egy példány attribútumát jelentő függvény "módszer".

Itt van a teljes Python 3 kód

#define a functiondef func1():print ("I am learning Python function")print ("still in func1")func1()def square(x):return x*xprint(square(4))def multiply(x,y=0):print("value of x=",x)print("value of y=",y)return x*yprint(multiply(y=2,x=4))

Itt van a teljes Python 2 kód

#define a functiondef func1():print " I am learning Python function"print " still in func1"func1()def square(x):return x*xprint square(4)def multiply(x,y=0):print"value of x=",xprint"value of y=",yreturn x*yprint multiply(y=2,x=4)

Összegzés:

A Funkció a Pythonban egy újrafelhasználható kódrészlet, amelyet egyetlen kapcsolódó művelet végrehajtására használnak. Ebben a cikkben meglátjuk

  • A def utasítás által definiált függvény
  • A kódblokk minden függvényben kettősponttal kezdődik (:) és behúzva kell lennie (szóköz)
  • Minden argumentumot vagy beviteli paramétert ezekben a zárójelekben kell elhelyezni, stb.
  • Legalább egy behúzást kell hagyni a kód előtt a függvény deklarálása után
  • A def függvényben ugyanabban a behúzási stílusban kell maradni
  • A bevált gyakorlatok esetében három vagy négy francia bekezdést tekintünk a legjobbnak a nyilatkozat előtt
  • A "return" paranccsal visszaadhatja az értékeket a függvényhívásnak.
  • A Python egy véletlenszerű értéket fog kinyomtatni, mint például (0x021B2D30), ha az argumentum nincs megadva a hívó függvénynek. Példa a "nyomtatási funkcióra".
  • A hívó oldalon ez egy argumentum, a függvény oldalon pedig egy paraméter
  • Alapértelmezett érték az argumentumban - Ha csak egy argumentumot adunk meg a multiplikációs függvény vagy bármely más függvény meghívása közben, akkor a Python alapértelmezés szerint hozzárendeli a másik argumentumot
  • A Python lehetővé teszi az argumentum sorrendjének megfordítását is