ప్రధాన కంటెంట్‌కు వెళ్లండి
మాడ్యూల్ 5 · 4లో పాఠం 1కోర్సులో 17/36~12 min
మాడ్యూల్ పాఠాలు (1/4)

డెఫ్ మరియు రిటర్న్

ఒక ఫంక్షన్ అనేది కోడ్ యొక్క పునర్వినియోగ బ్లాక్: మీరు దానిని defతో ఒకసారి నిర్వచించండి, ఆపై మీకు కావలసినన్ని సార్లు కాల్ చేయండి. విధులు కోడ్‌ను మాడ్యులర్‌గా చేస్తాయి, పరీక్షించదగిన, మరియు స్వీయ-డాక్యుమెంటింగ్.

ప్రాథమిక వాక్యనిర్మాణం

Python
def saluta(nome):
    return f"Ciao, {nome}!"

saluta("Ada")     # 'Ciao, Ada!'
  • def ఫంక్షన్‌ను పరిచయం చేస్తుంది, దాని తర్వాత పేరు మరియు పారామితులు కుండలీకరణాలు.
  • : ఇండెంట్ బ్లాక్‌ను తెరుస్తుంది.
  • return కాలర్‌కు విలువను తిరిగి పంపుతుంది మరియు ఫంక్షన్‌ను ముగించింది.

స్పష్టమైన return vs అవ్యక్త None

మీరు return అని వ్రాయకపోతే, ఫంక్షన్ **None**ని పరోక్షంగా చూపుతుంది:

Python
def stampa_e_basta(x):
    print(x)

risultato = stampa_e_basta("ciao")
# prints 'ciao'
print(risultato)   # None

బేర్ return (విలువ లేదు) కూడా Noneని అందిస్తుంది, కానీ ఇది ముందస్తుగా ఉపయోగపడుతుంది నిష్క్రమించు:

Python
def primo_pari(nums):
    for n in nums:
        if n % 2 == 0:
            return n
    return None   # explicit: communicates "not found"

బహుళ విలువలు? ఒక టుపుల్ తిరిగి ఇవ్వండి

పైథాన్‌కు "అవుట్ పారామితులు" లేవు: ఒకటి కంటే ఎక్కువ వస్తువులను తిరిగి ఇవ్వడానికి, a టుపుల్ (తరచుగా కాలర్ ద్వారా అన్ప్యాక్ చేయబడుతుంది).

Python
def divisione_resto(a, b):
    return a // b, a % b

quoziente, resto = divisione_resto(17, 5)
# 3, 2

డాక్‌స్ట్రింగ్: అంతర్నిర్మిత డాక్యుమెంటేషన్

ఫంక్షన్‌లోని మొదటి స్ట్రింగ్ డాక్‌స్ట్రింగ్: ఇది చూపబడుతుంది help(fn) మరియు IDEలలో టూల్‌టిప్‌గా.

Python
def area_cerchio(raggio):
    """Calcola l'area di un cerchio dato il raggio."""
    import math
    return math.pi * raggio ** 2

పరిధి: స్థానిక వేరియబుల్స్

ఫంక్షన్ లోపల నిర్వచించబడిన వేరియబుల్స్ లోకల్: అవి ఉనికిలో లేవు బయట.

Python
def f():
    x = 10
    return x

f()    # 10
x      # NameError: name 'x' is not defined

విధులు ఎల్లప్పుడూ దేనినైనా తిరిగి ఇస్తాయి

పైథాన్‌లో, ఒక ఫంక్షన్ return స్టేట్‌మెంట్‌ను స్పష్టంగా ప్రకటించకపోతే లేదా ఖాళీ returnని కలిగి ఉంటే, అది పరోక్షంగా None ప్రత్యేక విలువను అందిస్తుంది. విలువను అందించని ఫంక్షన్‌లు ఏవీ లేవు.

దీనిని ప్రయత్నించండి

వ్యాయామం#python.m5.l1.e1
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

`x * 2`ని అందించే `డబుల్(x)` ఫంక్షన్‌ని నిర్వచించండి. ఆపై 7తో కాల్ చేసి, ఫలితాన్ని `ఫలితం`కి కేటాయించండి. `ఫలితాన్ని` మూల్యాంకనం చేయండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

రిటర్న్ x * 2 ఉపయోగించండి.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

వ్యాయామం సమీక్షించండి

వ్యాయామం#python.m5.l1.e2
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

టుపుల్ `(కనిష్ట, గరిష్టం)`ని అందించే `min_max(సంఖ్యలు)`ని నిర్వచించండి. దీన్ని `[3, 1, 4, 1, 5, 9, 2, 6]`లో కాల్ చేసి, ఫలితాన్ని `mn, mx`కి అన్‌ప్యాక్ చేయండి. `(mn, mx)` మూల్యాంకనం చేయండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

రిటర్న్ కనిష్టం(సంఖ్యలు), గరిష్టం(సంఖ్యలు)

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది

అదనపు సవాలు

వ్యాయామం#python.m5.l1.e3
ప్రయత్నాలు: 0లోడ్ అవుతోంది...

ఇన్‌పుట్ స్ట్రింగ్ దాని రివర్స్‌డ్ వెర్షన్‌కి సమానంగా ఉంటే \`True\`ని అందించే \`is_palindrome(text)\` ఫంక్షన్‌ను నిర్వచించండి మరియు లేకపోతే \`False\`. చివరి వ్యక్తీకరణగా \`is_palindrome("రాడార్")\`తో ఫంక్షన్‌ని పరీక్షించండి.

ఎడిటర్ లోడ్ అవుతోంది…
సూచనను చూపించు

స్ట్రింగ్‌ను రివర్స్ చేయడానికి మరియు అసలు టెక్స్ట్‌తో పోల్చడానికి స్లైసింగ్ టెక్స్ట్[::-1] ఉపయోగించండి.

3 ప్రయత్నాల తర్వాత పరిష్కారం లభిస్తుంది