سلام دوستان
قسمت شانزدهم ادامه توابع
گفتیم که توابع برای راحتر شدن کار ما و قرار دادن یکسری دستورات تو یه قسمت مشخص و استفاده مجدد بوجود آمدند.حالا میخواهیم به برخی از
ویژگی های توابع بپردازیم.
۱) پارامتر های تابع:
یک تابع میتواند در داخل خود از پارامتر های(متغییر) مختلفی استفاده کند.مقادیر پارامترهنگامی که تابع فراخوانی میشود تعریف میشود ولی متغییر ها
اینطور نیستند.پارامترها در مقابل اسم تابع و در داخل پرابتز قرار میگریند و با علامت , از هم جدا میشوند.
مثال:
کد PHP:
#!/usr/bin/python
#parametr tabe:
def max(x , y ):
if x > y :
print x,”bozorgtar ast”
else :
print y,”bozorgtar ast”
max(4 , 6)
با اجرای کد مفسر به خط آخر رفته و تابع را فراخوانی میکند.همان طور که میبینیدما تابعی ایجاد کردیم که به از ما دو عدد گرفته و عدد بزرگتر را به ما
نمایش میدهد.همان طور که گفتیم ما مقدار پارا مترهای تابع max را هنگام فراخوانی تابع یعنی خط آخر به تابع دادیم.حال به مثال زیر توجه کنید:
مثال:
کد PHP:
#!/usr/bin/python
#parametr tabe 2
def max (x , y):
if x > y :
print x,”bozorgtar”
else :
print y ,”bozorgtar”
max (4 , 6)
a = 10
b = 15
max (a , b)
خوب دوستان همان طور که دیدید ما بعد از فراخوانی تابع دو متغییر با نامهای a , b تعریف و به آنها مقدار داده و در تابع به عنوان پارامتر قرار دادیم.
۲)متغییر ها در توابع:
ما در توابع دو نوع متغییر داریم :۱.متغییرهای محلی ۲. متغییرهای عمومی یا global
۱..متغییر های محلی یا scope of th varaible
تمام متغییرهایی که ما در داخل توابع تعریف میکنیم متغییرهای محلی هستند و فقط در داخل تابع کاربرد دارند.حتی اگر متغییری همنام متغییر ما در
خارج از تابع تعریف شده باشد مشکلی پیش نخواهد آمد.به مثال دقت کنید:
کد PHP:
#!/usr/bin/python
#moteghyer tabe:
def ashiyane ():
x =50
print x
ashiyane ()
x= “ashiyane”
print x
با اجرای کد مفسر به خط ششم رفته و تابع آشیانه را فراخوانی میکند.ما در تابع پارامتر x را تعریف کردیم و آنرا نمایش دادیم.در خط خارج از تابع
متغییر دیگری با نام x تعریف کردیم و آنرا نمایش دادیم.
۲.متغییر های عمومی یا global :
همان طور که از اسم این نوع متغیر پیداست وقتی از این دستور استفاده میکنیم متغییری که عمومی شده فقط یکبار تعریف میشود.به مثال دقت کنید :
کد PHP:
#!/usr/bin/python
#global
global x , y
x=2
y ="ashiyane"
def ashiyane():
print y * x
ashiyane()
print y * x
مثال واضح هست و نیاز به توضیح نیست.فقط یک نکته اینکه ما میتونیم چندین متغییر رو با استفاده از یک دستور global عمومی کنیم.
برای اینکه پست ها طولانی نشه و حوصله شما سر نره مطالب رو کوتاه میکنم.
یا علی