متغیرها در پایتون: اعلان، الحاق، سراسری و محلی

متغیر در پایتون به چه معناست؟

یک متغیر در پایتون یک مکان رزرو در حافظه برای ذخیره مقادیر می‌باشد. به عبارت دیگر، متغیر در یک برنامه پایتون، داده مورد نیاز کامپیوتر برای پردازش را فراهم می‌کند.

هر مقدار در پایتون یک نوع داده دارد. نوع داده‌های مختلف در پایتون اعداد (Number)، لیست (List)، تاپل (Tuple)، رشته (String)، دیکشنری (Dictionary) و… می‌باشند. متغیرها را می‌توان با هر نام یا حرف الفبا مانند a، aa، abc  و… اعلان کرد. در ادامه به یادگیری متغیرها در پایتون خواهیم پرداخت.

متغیرها-در-پایتون

نحوه اعلان و استفاده از یک متغیر

در مثال زیر، متغیر a را اعلان کرده و چاپ می‌کنیم

a=100 
print (a)

اعلان مجدد یک متغیر

می‌توان یک متغیر را پس از اعلان آن، مجدداً اعلان کرد.

در اینجا متغیر را به صورت f=0 آغاز می‌کنیم.

سپس به متغیر f مقدار guru99 را مجدداً اختصاص می‌دهیم.

متغیرها در پایتون: اعلان، الحاق، سراسری و محلی

مثال پایتون ۲

# Declare a variable and initialize it
f = 0
print f
# re-declaring the variable works
f = 'guru99'
print f

مثال پایتون ۳

# Declare a variable and initialize it
f = 0
print(f)
# re-declaring the variable works
f = 'guru99'
print(f)

الحاق (Concatenate) متغیرها

اجازه دهید ببینیم که آیا می‌توان نوع داده‌های مختلف مانند رشته و اعداد را به هم چسباند یا نه. برای مثال می‌خواهیم رشته «Guru» را به عدد «99» الحاق کنیم.

برخلاف Java، که بدون نیاز به اعلان یک عدد به عنوان رشته، آن را به یک رشته الحاق می‌کند، در پایتون باید یک عدد را به صورت رشته اعلان کرد وگرنه یک خطای TypeError نمایش داده می شود.

مطلب پیشنهادی:  رشته‌ها در پایتون: جایگزینی، اتصال و تبدیل به حروف بزرگ و کوچک

متغیرها در پایتون: اعلان، الحاق، سراسری و محلی

برای کد زیر، خروجی تعریف نشده‌ای بدست خواهد آمد.

a="Guru"
b = 99
print a+b

زمانی که عدد صحیح (integer) به صورت یک رشته اعلان شود، می توان آن را به عبارت Guru الحاق کرد.

a="Guru"
b = 99
print(a+str(b))

متغیرهای سراسری (Global) و محلی (Local)

اگر بخواهید در پایتون از یک متغیر در کل برنامه یا ماژول استفاده کنید، باید آن را به صورت سراسری اعلان کنید، و اگر بخواهید از متغیر در یک تابع یا متد مشخص استفاده کنید، آن را به صورت محلی اعلان می کنید.

تفاوت بین متغیر محلی و سراسری را در برنامه زیر بهتر درک می‌کنیم.

  1. متغیر f در دامنه سراسری بوده و مقدار «۱۰۱» را به آن اختصاص می‌دهیم و در خروجی چاپ می‌کنیم.
  2. متغیر f را در تابع دوباره اعلان کرده و دامنه آن را محلی فرض می‌کنیم. به آن مقدار «I am learning Python» را اختصاص می‌دهیم و در خروجی چاپ می‌کنیم.این متغیر متفاوت از متغیر سراسری f است که پیش از این تعریف شد.
  3. با پایان یافتن فراخوانی تابع، متغیر f از بین می رود. در خط ۱۲، اگر دوباره مقدار متغیر f را چاپ کنیم، مقدار متغیر سراسری f=101 نمایش داده خواهد شد.

متغیرها در پایتون: اعلان، الحاق، سراسری و محلی

مثال پایتون۲

# Declare a variable and initialize it
f = 101
print f
# Global vs. local variables in functions
def someFunction():
# global f
    f = 'I am learning Python'
    print f
someFunction()
print f

مثال پایتون ۳

# Declare a variable and initialize it
f = 101
print(f)
# Global vs. local variables in functions
def someFunction():
# global f
    f = 'I am learning Python'
    print(f)
someFunction()
print(f)

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

  1. متغیر f در دامنه سراسری است و مقدار ۱۰۱ به آن اختصاص داده شده و چاپ می شود.
  2. متغیر f با استفاده از کلیدواژه global اعلان می‌شود. این متغیر یک متغیر محلی نیست، همچنین متغیر سراسری یکسانی پیش از این تعریف شد، بنابراین هنگام چاپ مقدار آن، خروجی ۱۰۱ چاپ می‌شود.
  3. مقدار متغیر f را درون تابع تغییر داده‌ایم، پس از پایان فراخوانی تابع، مقدار تغییر یافته متغیرf باقی می‌ماند. در خط ۱۲، وقتی که مقدار متغیر f را مجدداً چاپ می‌کنیم، مقدار «changing global variable» نمایش داده می‌شود.
مطلب پیشنهادی:  تابع main در پایتون: درک __name__ == __main__

متغیرها در پایتون: اعلان، الحاق، سراسری و محلی

مثال پایتون۲

f = 101;
print f
# Global vs.local variables in functions
def someFunction():
  global f
  print f
  f = "changing global variable"
someFunction()
print f

مثال پایتون ۳

f = 101;
print(f)
# Global vs.local variables in functions
def someFunction():
  global f
  print(f)
  f = "changing global variable"
someFunction()
print(f)

حذف یک متیغر

می‌توان یک متغیر را با استفاده از دستور {« نام متغیر » del} حذف کرد.

در مثال زیر، متغیر f را حذف می‌کنیم، و پس از آن اگر برای چاپ آن اقدام کنیم، با خطای «variable name is not defined» (متغیر تعریف نشده است) مواجه می‌شویم که بدین معناست که متغیر حذف شده است.

متغیرها در پایتون: اعلان، الحاق، سراسری و محلی

f = 11;
print(f)
del f
print(f)

خلاصه متغیرها در پایتون

  • متعیرها همانند پاکت نامه یا سطل می‌باشند که می‌توان اطلاعات را در آنها نگه‌داری کرد و به آنها اشاره کرد. مانند هر زبان برنامه‌نویسی دیگری، پایتون از متغیرها برای ذخیره اطلاعات استفاده می‌کند.
  • متغیرها را می‌توان با هرنام یا حرف الفبایی مانند a، aa،abc و… اعلان کرد.
  • پس از اینکه یک متغیر اعلان شد، می‌توان آن را مجدداً اعلان کرد.
  • در پایتون نمی‌توان رشته و اعداد را به صورت مستقیم الحاق کرد، باید ابتدا آنها را به صورت متغیرهای جداگانه تعریف کرد و پس از آن، می‌توان عدد را به رشته اضافه کرد.
  • اگر می‌خواهید از یک متغیر در تابع جاری استفاده کنید، آن را به صورت محلی اعلان کنید.
  • اگر می‌خواهید از یک متغیر در مابقی برنامه استفاده کنید، آن را به صورت سراسری اعلان کنید.
  • برای حذف یک برنامه، از کلیدواژه del استفاده کنید.
مطلب پیشنهادی:  شی‌گرایی در پایتون: کلاس، شی، وراثت و سازنده

منبع: ترجمه از سایت guru99.com

در جلسه بعدی به بررسی نوع داده دیکشنری‌ درپایتون خواهیم پرداخت. نوع داده دیکشنری در پایتون خیلی کاربردی است.

اگر این نوشته‌ برایتان مفید بود لطفا کامنت بنویسید.

مطالعه دیگر جلسات این آموزش<< جلسه قبلی                    جلسه بعدی >>

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *