نحوه ی نگارش tuple در پایتون

پایتون آریا پروژه

نحوه ی نگارش tuple در پایتون

def functionname([formal_args,] *var_args_tuple ):

 “function_docstring”

 function_suite

return [expression]

 علامت (*) پیش از اسم متغیر (vartuple )که دارنده ی آرگومان های متغیر nonkeyword است، درج می شود.

لازم به ذکر است که این tuple ،چنانچه به هنگام فراخوانی تابع (function call)هیچ آرگومان اضافی مشخص نشود، تهی باقی می ماند. مثال:

#!/usr/bin/python

# Function definition is here

def printinfo( arg1, *vartuple ):

 “This prints a variable passed arguments”

 print “Output is: “

 print arg1

 for var in vartuple:

 print var

 return;

# Now you can call printinfo function

printinfo( 10 )

printinfo( 70, 60, 50 )

کد فوق نتیجه ی زیر را بدست می دهد:

Output is:

۱۰

Output is:

۷۰

۶۰

۵۰

توابع بی نام (Anonymous functions) در پایتون

توابعی که به شیوه ی معمول و با درج کلیدواژه ی def تعریف نشده اند، توابع anonymous نام دارند.

برای ایجاد توابع anonymous ،بایستی از کلیدواژه ی lambda استفاده نمود.

.۱ توابعی که به شکل lambda تعریف شده اند، قادراند چندین آرگومان به عنوان ورودی بپذیرند، اما فقط یک مقدار را در قالب عبارت به عنوان خروجی برمی گرداند. همچنین نمی توانند چندین دستور یا عبارت درخود داشته باشند.

  1. یک تابع anonymous نمی تواند به صورت مستقیم برای چاپ (print )فراخوانی شود، زیرا lambda به یک عبارت نیاز دارد.
  2. توابع lambda دارای فضای نامی محلی (namespace local )خود هستند و نمی توانند به متغیرهایی که در لیست پارامتر خود آورده نشده و نیز متغیرهایی که در فضای نامی سراسری هستند، دسترسی داشته باشند.

.۴  اگرچه بنظر می رسد که lambda ها، نسخه ی تک خطی از یک تابع هستند، با این وجود معادل دستورات درون برنامه ای (statement line-in )در زبان های C و ++C محسوب نمی شوند که هدف از آن افزایش کارایی تابع به وسیله ی ارسال پشته ی تخصیص تابع هنگام فراخوانی است.

ساختار نگارشی در پایتون

سینتکس توابع lambda همان طور که در نمونه ی زیر مشاهده می کنید، شامل تنها یک خط می باشد:

lambda [arg1 [,arg2,…..argn]]:expression

در زیر نحوه ی عملکرد تابعی که به صورت lambda تعریف شده باشد، را مشاهده می کنید:

#!/usr/bin/python

# Function definition is here

sum = lambda arg1, arg2: arg1 + arg2;

# Now you can call sum as a function

print “Value of total : “, sum( 10, 20 )

print “Value of total : “, sum( 20, 20 )

نتیجه:

Value of total : 30

Value of total : 40

دستور return

دستور [ return [expression عملیات تابع را به پایان می رساند و خروجی آن را برمی گرداند و در صورت لزوم یک عبارت را به فراخواننده ارسال می نماید.

دستور return ای که جلوی آن هیچ آرگومانی درج نشده باشد برابر با return none می باشد.

مثال های بالا هیچ مقداری را برنمی گردانند. مثال زیر یک مقدار را از تابع به صورت زیر برمی گرداند:

#!/usr/bin/python

# Function definition is here

def sum( arg1, arg2 ):

 # Add both the parameters and return them.”

 total = arg1 + arg2

 print “Inside the function : “, total

 return total;

# Now you can call sum function

total = sum( 10, 20 );

print “Outside the function : “, total

نویسنده : زهرا رستمی

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.