Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!
Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount
Osittaisfunktiot
Voit luoda osittaisia funktioita Pythonissa käyttämällä functools-kirjaston partial-funktiota.
Osittaiset funktiot mahdollistavat funktion, jossa on x parametria, muokkaamisen funktioksi, jossa on vähemmän parametreja, ja rajatummalle funktiolle määritellään kiinteät arvot.
Tarvittava tuonti:
from functools import partial
Tämä koodi palauttaa 8.
from functools import partial
def multiply(x, y):
return x * y
# create a new function that multiplies by 2
dbl = partial(multiply, 2)
print(dbl(4))
Tärkeä huomio: oletusarvot korvaavat muuttujat vasemmalta alkaen. 2 korvaa x:n. y saa arvon 4, kun dbl(4) kutsutaan. Tämä ei tee eroa tässä esimerkissä, mutta tekee seuraavassa esimerkissä.
Harjoitus
Muokkaa annettua funktiota kutsumalla partial() ja korvaamalla ensimmäiset kolme muuttujaa func()-funktiossa. Tulosta sitten uusi osittainen funktio käyttämällä vain yhtä syötettävää muuttujaa siten, että tulos on 60.
#Following is the exercise, function provided:
from functools import partial
def func(u, v, w, x):
return u*4 + v*3 + w*2 + x
#Enter your code here to create and print with your partial function
from functools import partial
def func(u, v, w, x):
return u*4 + v*3 + w*2 + x
p = partial(func,5,6,7)
print(p(8))
#test_object('p')
test_output_contains('60')
success_msg('Good job!')
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!