Käytä virallista Python -opetusohjelmaa toimintojen määrittelemiseksi viitteenä: jokainen toiminto alkaadef, jota seuraa nimi, suluja parametreille, takaosan kaksoispiste ja sisennetty lohko, joka toimii, kun funktiota kutsutaan.
Menetelmä 1 - Luo ja soita perustoiminto
Vaihe 1:Julistaa funktionadefja paksusuolen.
def greet():
print("Hello from a function!")Vaihe 2:Soita toiminto sen nimellä suluilla.
greet()Tämä asettaa minimaalisen kuvion: määritelmä ensin, soita sen jälkeen. Python suorittaa ylhäältä alas, joten funktio on määritettävä ennen kuin se kutsutaan.
Menetelmä 2 - Lisää parametrit ja oletusarvot
Vaihe 1:Lisää sulujen sisälle parametrit hyväksyäksesi tulot.
def full_name(first, last):
print(first + " " + last)Vaihe 2:Soita toimintoon vastaavilla argumenteilla.
Lue myös:Kuinka lisätä kuvia Excel -soluihin kuvatoiminnolla
full_name("Ada", "Lovelace")Vaihe 3:Määrittää oletusarvo=Argumentin valinnainen.
def hello(name="World"):
print(f"Hello, {name}!")
hello() # uses default
hello("Python") # overrides defaultOletusasetukset yksinkertaistavat soittajia ja pitävät sovellusliittymäsi vakaana lisääessäsi valinnaista käyttäytymistä. Katso oletusargumentit virallisessa opetusohjelmassa.
Menetelmä 3 - Palautusarvot
Vaihe 1:Käyttääreturnlähettää arvo takaisin soittajalle.
def area(w, h):
return w * hVaihe 2:Kaappaa palautettu arvo muuttujaan.
a = area(3, 4)
print(a)Vaihe 3:Palauta useita arvoja (ne on pakattu tupleksi).
def point():
return 10, 20
x, y = point()Palautuslausunnon yksityiskohdat on käsitelty kieliviitteessä.
Menetelmä 4 - Hyväksy muuttuva määrä argumentteja
Vaihe 1:Kerätä ylimääräisiä sijaintiperusteita*args.
def total(*args):
return sum(args)
print(total(1, 2, 3))Vaihe 2:Kerätä avainsanarusgumentteja**kwargs.
def report(**kwargs):
for k, v in kwargs.items():
print(k, "=", v)
report(name="Keyboard", price=19.99)Tämän käyttöliittymän avulla funktiosi on joustava erilaisiin tuloihin. Katso virallisessa opetusohjelmassa ”Mielivaltaiset argumenttiluettelot”.
Menetelmä 5 - Hallitse kuinka soittajat läpäisevät argumentit
Vaihe 1:Tee joitain parametreja vain sijainnista lisäämällä/heidän jälkeensä.
def echo(x, /):
print(x)
echo(3) # OK
# echo(x=3) # TypeErrorVaihe 2:Tee parametrit vain avainsanat lisäämällä*ennen heitä.
def scale(value, *, factor=2):
return value * factor
scale(10, factor=3) # OK
# scale(10, 3) # TypeErrorKäytä näitä selkeiden, turvallisten sovellusliittymien suunnitteluun. Katso ”Erityiset parametrit” virallisessa opetusohjelmassa.
Menetelmä 6 - Dokumentoi ja järjestä funktiosi
Vaihe 1:Lisää Docstring kehon ensimmäiselle riville kuvaamaan tarkoitusta, parametreja ja palautusarvoa.
def hypotenuse(a, b):
"""Compute the length of the hypotenuse from legs a and b."""
return (a**2 + b**2) ** 0.5Vaihe 2:Vartija-vain käsikirjoituksen puhelutif __name__ == "__main__"Joten tuonti ei suorita niitä.
def main():
print(hypotenuse(3, 4))
if __name__ == "__main__":
main()DocString -yleissopimukset on määritelty PEP 257: ssä ja__main__Kuvio on peitetty moduulien suorittamisen asiakirjoissa skripteinä.
Menetelmä 7 - Käytä lambda yksinkertaisiin yhden lian
Vaihe 1:Luo pieni tuntematon toimintolambdanopeaan, yhden hengen ekspressiotapaukseen.
double = lambda x: x * 2
print(double(5))Vaihe 2:MieluummindefKun tarvitset lausuntoja, docstringia tai uudelleenkäyttöä.
def double_def(x):
return x * 2Lambda -syntaksi on määritelty kieliviitteessä.
Menetelmä 8 - Aseta määritelmät, joissa ne suoritetaan ennen käyttöä
Vaihe 1:Määritä toiminnot ennen tiedoston ensimmäistä puhelua, jotta vältetään nimivirheet.
# Correct: defined before use
def hello():
print("Hello")
hello()Vaihe 2:Vältä toiminnon kutsumista ennen sen määritelmän suorittamista; Python ratkaisee nimet suorituksen aikana, ylhäältä alas.
# This will raise NameError at runtime:
# hello()
# def hello():
# print("Hello")Vaihe 3:Määritä valinnaisesti auttajatoiminnot toisen toiminnon sisällä pitääksesi paikallisen laajuuden.
def outer():
def inner():
return "scoped helper"
return inner()Pikavinkki
- ”Parametrit” ovat funktion otsikon nimet; ”Argumentit” ovat arvoja, jotka ohitat puhelussa.
- Käyttää
passpaikkamerkinä, kun otetaan funktion runko. - Pidä toiminnot pieninä ja keskittyneinä; Tämä yksinkertaistaa testausta ja uudelleenkäyttöä.
Kanssadef, huomaavaiset parametrit ja selkeät palautukset, kirjoitat toimintoja, jotka on helppo soittaa, testata ja laajentaa. Aloita yksinkertainen, lisää sitten oletusarvot,*args-**kwargs, ja argumentti säännöt, kun sovellusliittymäsi tarvitsee.












