Product SiteDocumentation Site

Chapter 9. ഫങ്ഷനുകള്‍

9.1. ഫങ്ഷന്‍ നിര്‍വചിക്കുന്ന വിധം
9.2. ലോക്കല്‍ വാര്യബിളുകളും ഗ്ളോബല്‍ വാര്യബിളുകളും
9.3. ഡീഫോള്‍ട്ട് ആര്‍ഗ്യുമെന്‍റ് മൂല്യം
9.4. കീവേഡ് ആര്‍ഗ്യുമെന്‍റ്സ്
ഒരു പ്രോഗ്രാമില്‍ ഒരേ കോഡുതന്നെ വീണ്ടുമുപയോഗിക്കേണ്ടി വരാം. ഇങ്ങനെ ചെയ്യാന്‍ ഫങ്ഷനുകള്‍ നമ്മെ സഹായിക്കുന്നു. നമുക്ക് വീണ്ടും വീണ്ടും ഉപയോഗിക്കേണ്ട കാര്യങ്ങള്‍ ഒരു ഫങ്ഷനായി എഴുതുകയും അതിനെ ആവശ്യമുളള സ്ഥലത്തേക്ക് വിളിക്കുകയും ചെയ്യാം. len(), divmod() എന്നിങ്ങനെയുള്ള മുന്‍ നിര്‍വചിക്കപ്പെട്ട ഫങ്ഷനുകള്‍ നാം പരിചയപ്പെട്ടുവല്ലോ.

9.1. ഫങ്ഷന്‍ നിര്‍വചിക്കുന്ന വിധം

ഒരു ഫങ്ഷന്‍ നിര്‍വചിക്കുവാന്‍ നമ്മള്‍ def എന്ന കീവേഡാണുപയോഗിക്കുന്നത്. സാധാരണ ഉപയോഗിക്കുന്ന മാതൃക ഇങ്ങനെയാണ്.

def functionname(params):
    statement1
    statement2

രണ്ട് ഇന്‍റിജറുകളെ ഇന്‍പുട്ടായി സ്വീകരിക്കുകയും അതിന്‍റെ തുകയെ തിരിച്ചുനല്കുകയും ചെയ്യുന്ന ഒരു ഫങ്ഷന്‍ നമുക്ക് ഇങ്ങനെ എഴുതാം.

>>> def sum(a, b):
...     return a + b

രണ്ടാമത്തെ വരിയില്‍‌ കാണുന്ന return എന്ന കീവേഡ് a + b യുടെ മൂല്യം ഫങ്ഷന്‍ വിളിക്കുന്നിടത്തേക്ക് തിരിച്ച് നല്കുന്നതിനായി ഉപയോഗിക്കുന്നു. ഒരു ഫങ്ഷനെ പ്രോഗ്രാമില്‍ ഇങ്ങനെ വിളിക്കാം

>>> res = sum(234234, 34453546464)
>>> res
34453780698L

കഴിഞ്ഞ പാഠത്തില്‍ നമ്മള്‍ palindrome പ്രോഗ്രാം എഴുതിയത് ഓര്‍മ്മിക്കുക. തന്നിരിക്കുന്ന സട്രിംഗ് palindrome ആണോ അല്ലയോ എന്ന് പരിശോധിച്ച് True എന്നോ False എന്നോ മൂല്യം തരാന്‍ കഴിയുന്ന ഒരു ഫങ്ഷനാണ് നമ്മള്‍ ഇനി എഴുതാന്‍ പോവുന്നത്.

#!/usr/bin/env python
def palindrome(s):
    z = s
    z = [x for x in z]
    z.reverse()
    if s == "".join(z):
        return True
    else:
        return False
s = raw_input("Enter a string: ")
if palindrome(s):
    print "Yay a palindrome"
else:
    print "Oh no, not a palindrome"

കോഡ് റണ്‍ ചെയ്യിക്കുക :)