Pythoni funktsioonide näited: kõne, taane, argumendid ja Tagastusväärtused

Lang L: none (table-of-contents):

Anonim

Mis on Pythoni funktsioon?

Funktsioon Python on tükk kood, mis jookseb kui on viidatud. Seda kasutatakse koodi kasutamiseks programmis rohkem kui ühes kohas. Seda nimetatakse ka meetodiks või protseduuriks. Python pakub palju sisseehitatud funktsioone, nagu print (), input (), compile (), exec () jne, kuid see annab ka vabaduse oma funktsioonide loomiseks.

Selles õpetuses õpime

  • Kuidas Pythonis funktsiooni määratleda ja kutsuda
  • Taande (tühiku) tähendus Pythonis
  • Kuidas funktsioon tagastab väärtuse?
  • Argumendid funktsioonides

Kuidas Pythonis funktsiooni määratleda ja kutsuda

Funktsiooni Pythonis määratleb lause "def", millele järgneb funktsiooni nimi ja sulg (())

Näide:

Määratleme funktsioon, kasutades käsku "def func1 ():", ja kutsume funktsiooni. Funktsiooni väljundiks on "Ma õpin Pythoni funktsiooni".

Funktsioon print func1 () kutsub meie def funktsiooni1 (): ja printige käsk " Ma õpin Pythoni funktsiooni Puudub ".

Funktsiooni määratlemiseks on Pythonis reeglistik.

  • Kõik argid või sisendparameetrid tuleks paigutada nendesse sulgudesse
  • Funktsiooni esimene lause võib olla valikuline käsu-docstring või funktsiooni dokumentatsioonistring
  • Iga funktsiooni kood algab kooloniga (:) ja peaks olema taandatud (tühik)
  • Avaldus return (avaldis) väljub funktsioonist, andes valikuliselt väärtus helistajale tagasi. Tagasilause ilma arg-iteta on sama mis return Puudub.

Taande (tühiku) tähendus Pythonis

Enne Pythoni funktsioonidega tutvumist on oluline mõista taandereeglit Pythoni funktsioonide deklareerimiseks ja need reeglid on rakendatavad nii Pythoni muude elementide kui ka tingimuste, tsüklite või muutuja deklareerimise suhtes.

Python järgib koodi määratlemiseks kindlat taande stiili, kuna Pythoni funktsioonidel pole funktsiooni alguse ja lõpu tähistamiseks selgesõnalist algust ega lõppu nagu lokkisulgudes, peavad nad sellele taandele tuginema . Võtame siin lihtsa näite käsuga "print". Kui kirjutame funktsiooni "print" otse funktsiooni def func 1 () alla: see näitab " taandeviga: oodatakse taandatud plokki ".

Kui lisate "printimise" funktsiooni ette taande (tühiku), peaks see printima ootuspäraselt.

Koodi edukaks toimimiseks piisab vähemalt ühest taandest. Parima tavana on soovitatav oma funktsiooni kutsumiseks jätta umbes 3-4 taane .

Samuti on vajalik, et taande deklareerimisel peate kogu ülejäänud koodi jaoks säilitama sama taande . Näiteks allpool kuvatava ekraanipildi korral, kui me nimetame teist lauset "endiselt funktsioonis func1" ja kui seda ei deklareerita kohe esimese printimisavalduse all, kuvatakse taandeviga "unindent ei ühti ühegi teise taandetasemega".

Kui rakendame mõlema lause jaoks sama taande ja joondame need samale reale, annab see eeldatava väljundi.

Kuidas funktsioon tagastab väärtuse?

Pythoni käsk Return määrab, millise väärtuse funktsiooni helistajale tagasi anda.

Mõistame seda järgmise näite abil

Samm 1) Siin - näeme, kui funktsioon pole "tagasi". Näiteks soovime ruutu 4 ja see peaks koodi täitmisel andma vastuse "16". Mis see annab, kui me lihtsalt kasutame koodi "print x * x", kuid kui nimetate funktsiooni "print square", annab see väljundiks "Puudub". Seda seetõttu, et funktsiooni kutsumisel rekursiooni ei toimu ja see jääb funktsiooni lõpust välja. Funktsiooni lõpu nurjumise eest tagastab Python väärtuse "Puudub".

2. samm. Selle selgemaks muutmiseks asendame printimise käsu määramise käsuga. Kontrollime väljundit.

Kui käivitate käsu "print square (4)", tagastab see tegelikult objekti väärtuse, kuna meil pole siin ühtegi konkreetset funktsiooni, mille üle joosta, see tagastab "Puudub".

Samm 3) Nüüd näeme siin, kuidas saada väljund käsu "return" abil. Kui kasutate funktsiooni "return" ja täidate koodi, annab see väljundi "16."

4. samm . Pythoni funktsioonid on ise objekt ja objektil on mingi väärtus. Me näeme siin, kuidas Python objekti kohtleb. Käsu "print square" käivitamisel tagastatakse objekti väärtus. Kuna me pole ühtegi argumenti edastanud, pole meil siin ühtegi konkreetset funktsiooni, millega siin joosta, tagastab vaikeväärtuse (0x021B2D30), mis on objekti asukoht. Praktilises Pythoni programmis pole seda tõenäoliselt kunagi vaja teha.

Argumendid funktsioonides

Argument on väärtus, mis edastatakse funktsioonile selle kutsumisel.

Teisisõnu helistava poole pealt on see argument ja funktsiooni poolel parameeter.

Vaatame, kuidas Python Args töötab -

Samm 1) Argumendid deklareeritakse funktsiooni määratluses. Funktsiooni kutsumisel saate edastada selle arguse väärtused, nagu allpool näidatud

Samm 2) Argumendi vaikeväärtuse deklareerimiseks määrake sellele väärtus funktsiooni määratluses.

Näide: x-l pole vaikeväärtusi. Vaikeväärtused y = 0. Kui korrutamisfunktsiooni kutsumisel esitame ainult ühe argumendi, määrab Python tarnitud väärtuse x-le, hoides y = 0 väärtust. Seega korrutatakse x * y = 0

Samm 3) Seekord muudame väärtuse vaikeväärtuse y = 0 asemel väärtuseks y = 2 ja see tagastab väljundi kujul (4x2) = 8.

Samm 4) Samuti saate muuta järjestust, milles argumente saab Pythonis edastada. Siin oleme väärtuste x ja y järjekorra ümber pööranud x = 4 ja y = 2.

Samm 5) Mitu argumenti saab edastada ka massiivina. Siin näites nimetame funktsiooni (* args), kutsudes mitu argumenti (1,2,3,4,5).

Näide: kui nimetame funktsiooni (* args), nimetasime mitu argsi arvuks (1,2,3,4,5); see prindib väljundi kujul (1,2,3,4,5)

Nõuanded :

  • Pythonis 2.7. funktsiooni ülelaadimist Python ei toeta. Funktsioon Ülekoormamine on võime luua mitu samanimelist meetodit erineva rakendusega. Funktsiooni Ülekoormus on Python 3-s täielikult toetatud
  • Meetodite ja funktsioonide vahel on üsna segadus. Pythoni meetodid on seotud objekti eksemplaridega, funktsioon aga mitte. Kui Python kutsub meetodit, seob see selle kõne esimese parameetri sobiva objektiviitega. Lihtsamalt öeldes on Pythoni eraldiseisev funktsioon "funktsioon", samas kui klassi või eksemplari atribuudiks olev funktsioon on "meetod".

Siin on täielik Python 3 kood

#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))

Siin on täielik Python 2 kood

#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)

Kokkuvõte:

Funktsioon Pythonis on korduvkasutatav koodijupp, mida kasutatakse ühe seotud toimingu sooritamiseks. Selles artiklis näeme

  • Def- lause abil määratletud funktsioon
  • Iga funktsiooni koodiplokk algab kooloniga (:) ja peaks olema taandatud (tühik)
  • Kõik argumendid või sisendparameetrid tuleks paigutada nendesse sulgudesse jne.
  • Pärast funktsiooni deklareerimist tuleks koodi ette jätta vähemalt üks taane
  • Def-funktsiooni kogu koodi sees tuleks säilitada sama taande stiil
  • Parimate tavade jaoks peetakse enne avaldust parimaks kolme või nelja taanet
  • Funktsioonikutsele väärtuste tagastamiseks võite kasutada käsku "return".
  • Kui argumenti helistamisfunktsioonile ei anta, prindib Python juhusliku väärtuse nagu (0x021B2D30). Näide "printimisfunktsioon".
  • Kutsuva poole pealt on see argument ja funktsiooni poolel parameeter
  • Vaikeväärtus argumendis - kui me esitame korrutamisfunktsiooni või mis tahes muu funktsiooni kutsumisel ainult ühe argumendi, määrab Python vaikimisi teise argumendi
  • Python võimaldab teil muuta ka argumendi järjekorda