பைத்தான் - செயற்கூறு செயலுருபுகள் | 12th Computer Science : Chapter 7 : Core Python : Python Functions
செயற்கூறு செயலுருபுகள் (Function Arguments)
செயலுருபுகள் செயற்கூறினை அழைக்க பயன்படுகிறது. செயலுருபுகள்
நான்கு வகைப்படும் தேவைப்படும் செயலுருபுகள் (Required arguments), சிறப்பு சொல் செயலுருபுகள்
(Keyword arguments), தானமைவு செயலுருபுகள் (Default arguments), மாறும் நீள செயலுருபுகள்
(variable length arguments).
1. தேவைப்படும் செயலுருபுகள்
செயலுருபுகளை சரியான இடவரிசையில் செயற்கூற்றுக்கு அனுப்புவதே
தேவைப்படும் செயலுருபுக்கள் எனப்படும். இங்கு, செயற்கூறு அழைப்புக் கூற்றில் உள்ள செயலுருபுகளின்
எண்ணிக்கை, செயற்கூறு வரையறையோடு சரியாக பொருந்த வேண்டும். தொடரியல் பிழையை தவிர்த்து,
தேவையான வெளியீட்டை பெறுவதற்கு குறைந்தது ஒரு செயலுருபாவது தேவை.
எடுத்துக்காட்டு
def printstring(str):
print ("Example - Required
arguments")
print (str)
return
# Now you can call printstring()
function
printstring()
மேலே உள்ள குறிமுறை இயக்கப்படும் போது இது பின்வரும் பிழையை
கொடுக்கிறது.
Traceback (most recent call last):
File "Req-arg.py", line 10, in <module>
printstring()
TypeError: printstring() missing 1 required positional argument:
'str'
மேலே உள்ள குறிமுறையில் print string()க்கு பதிலாக
printstrin("Welcome”) பயன்படுத்தினால் இதன் வெளியீடு,
வெளியீடு
Example - Required arguments
Welcome]
அளபுருக்களின் பெயரை அடையாளம் கண்ட பின்பு சிறப்புச் சொல் செயலுருபானது
செயற்கூறினை அழைக்கிறது. சிறப்புச் சொல் செயலுருபின் மதிப்பு அளபுரு பெயருடன் பொருந்த
வேண்டும். எனவே, முறையற்ற வரிசையிலும் செயலுருபுகளைக் கொடுக்கலாம்.
எடுத்துக்காட்டு:
def printdata (name):
print (“Example-1 Keyword arguments”)
print (“Name :',name)
return
# Now you can call printdata()
function
printdata(name = "Gshan”)
மேற்கண்ட குறிமுறை இயக்கப்படும் போது பின்வரும் வெளியீடு கிடைக்கும்.
வெளியீடு
Example-1 Keyword arguments
Name :Gshan
எடுத்துக்காட்டு:
def printdata (name):
print (“Example-2 Keyword arguments”)
print (“Name :' “, name)
return
# Now you can call printdata() function
printdata (namel = “Gshan”)
மேற்கண்ட குறிமுறை இயக்கப்படும் போது பின்வரும் வெளியீடு கிடைக்கும்.
வெளியீடு
TypeError: printdata() got an unexpected
keyword argument 'name1'
எடுத்துக்காட்டு:
def printdata (name, age):
print ("Example-3 Keyword
arguments")
print ("Name :'',name) print
("Age :";age)
return
# Now you can call printdata() function
printdata (age=25, name="Gshan")
மேற்கண்ட குறிமுறை இயக்கப்படும் போது பின்வரும் வெளியீடு கிடைக்கும்.
வெளியீடு
Example-3 Keyword arguments
Name: Gshan
Age : 25
குறிப்பு
மேலே
உள்ள நிரலில் அளபுருக்களின் வரிசைமுறை மாறி உள்ளது.
பைத்தானில், செயற்கூறை அழைக்கும் போது எந்த மதிப்பும் கொடுக்கப்படவில்லை
எனில், செயலுருபானது தானாகவே மதிப்பை எடுத்துக் கொள்ளும். இதுவே தானமைவு செயலுருபு
ஆகும்.
பின்வரும் எடுத்துக்காட்டில் செயலுருபுவை அனுப்பாதபோது தான்மைவு
Salary-யை அச்சிடுவதைக் காணலாம்.
எடுத்துக்காட்டு:
def printinfo( name, salary = 3500):
print (“Name:“, name)
print (“Salary: “, salary)
return
printinfo ("Mani")
மேற்கண்ட குறிமுறை இயக்கப்படும் போது பின்வரும் வெளியீடு கிடைக்கும்.
வெளியீடு
Name: Mani
Salary: 3500
மேற்கண்ட குறிமுறையை printinfo("Ram”, 2000)என மாற்றும்
போது பின்வரும் வெளியீடு கிடைக்கும்.
வெளியீடு
Name: Ram
Salary: 2000
மேலே உள்ள குறிமுறையில் 2000 என்ற மதிப்பை salary என்ற செயலுருபுக்கு
அனப்பினால் ஏற்கனவே உள்ள தானமைவு மதிப்பு நிராகரிக்கப்படும்.
சில சமயங்களில், ஏற்கனவே குறிப்பிடப்பட்ட செயலுருபுகளை விட அதிகமான
செயலுருபுகளை அனுப்ப வேண்டிய தேவை இருக்கும். மீண்டும் செயற்கூறினை மறுவரையறை செய்வது
கடினமான செயல் அதற்கு பதிலாக மாறும் நீள செயலுருபுகளை பயன்படுத்தலாம். செயற்கூறு வரையறையில்
இது குறிப்பிடப்படுவதில்லை . மாறாக இந்த செயலுருபுகளை குறிப்பிடுவதற்கு * குறியீடு
பயன்படுகிறது. மூன்றுக்கு அதிகமான செயலுருபுகளை sum( ) செயற்கூறுவிற்கு அனுப்பும் பொழுது
என்ன நிகழும் என பார்ப்போம்.
எடுத்துக்காட்டு:
def sum(x,y,z):
print("sum of three nos :'',x+y+z)
sum(5,10,15,20,25)
மேலே உள்ள குறிமுறையை இயக்கும் போது பின்வரும் வெளியீடு கிடைக்கும்.
TypeError: sum() takes
3 positional arguments but 5 were given
மாறும் நீள செயலுருபின் பொதுவடிவம்
def function_name(*args):
function_body
return_statement
எடுத்துக்காட்டு:
def printnos (*nos):
for n in nos:
print(n)
return
# now invoking the printnos() function
print ('Printing two values')
printnos (1,2)
print ('Printing three values')
printnos (10,20,30)
வெளியீடு
Printing two values
1
2
Printing three values
10
20
30
மேலே உள்ள நிரலில், printnos என்ற செயற்கூறின் பெயரை
printnames என்ற அனைத்து இடங்களிலும் மாற்றி ஏற்ற தரவுகளை கொடுக்கவும். எடுத்துக்காட்டு
, printnos(10,20,30) என்பதை printnames('mala', 'kala', bala') என மாற்றி கொடுத்து
வெளியீட்டைக் காண். மாறி நீள செயலுருபுகளில், செயலுருபுகளை இரண்டு வழிகளில் அனுப்பலாம்.
In
Variable Length arguments we can pass the arguments using two methods.
1. சிறப்புச் சொற்களற்ற மாறி செயலுருபுகள்
2. சிறப்புச் சொல் மாறி செயலுருபுகள்
சிறப்புச் சொற்களற்ற மாறி செயலுருபுகளை tuples என்று அழைக்கிறோம்.
இதைப்பற்றி விரிவாக பின்வரும் பாடங்களில் காணலாம்.
குறிப்பு
சிறப்புச்
சொல் மாறி செயலுருபு இந்த புத்தகத்திற்கு அப்பாற்பட்டது.
உங்களுக்குத் தெரியுமா?
பைத்தானில்
print() செயற்கூறு என்பது மாறும் நீள செயலுருபுக்கு ஒரு எடுத்துக்காட்டு ஆகும்.