Kuinka määritellä funktio pythonissa

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 default

Oletusasetukset 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 * h

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

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

Kä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.5

Vaihe 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 * 2

Lambda -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.

Related Posts