
در برنامهنویسی، یک متغیر (Variable) یک مکان در حافظه (آدرس حافظه) است.که دارای یک نام نمادین با عنوان شناسه (Identifier) میباشد. و میتواند حاوی اطلاعات یا یک مقدار معلوم یا مجهول که به آن ارزش (Value)گفته میشود باشد.به عبارت دیگر، متغیر در برنامهنویسی به فضایی که برای ذخیره دادهها کنار گذاشته شدهاست میگویند. در ادامه به نحوه ایجاد متغیر و همچنین بررسی متغیرهای محلی و سراسری در پایتون می پردازیم.
ساخت متغیر در پایتون
متغیرها مانند ظروفی برای ذخیره مقادیری که به آنها اختصاص داده می شوند هستند.برخلاف دیگر زبانهای برنامهنویسی، پایتون هیچ فرمانی برای اعلام یک متغیر ندارد.در واقع پایتون برای ایجاد یک متغیر نیازی به استفاده از علامت یا کلمات کلیدی ندارد.در واقع یک متغیر زمانی ایجاد میشود که مقداری را به آن اختصاص دهید.
به مثال زیر توجه کنید:
x = 64 y = "Gisoomtarh.com" print(x) print(y)
همانطور که می بینید x و y بطور مستقیم با اختصاص مقادیر عددی و رشته ای تبدیل به متغیر شده اند. در واقع مقدار عددی 64 در متغیر x و مقدار Gisoomtarh.com در متغیرy ذخیره شده است . در ادامه دستور ()print مقدار هر متغیر را در خروجی چاپ می کند.
64 Gisoomtarh.com
نوع متغیرها در پایتون بواسطه مقادیری که به آن تخصیص داده می شود مشخص می شود.
همچنین نوع متغیر می تواند با استفاده از بعضی دستورات به نوع دیگر تبد
به مثال زیر توجه کنید :
var1 = 50 # این یک متغیر از نوع عددی یا Integer است var2 = "hello" # این یک متغیر با مقادیر رشته ای یا String است var3 = "50" #این یک متغیر با مقادیر رشته ای است var4 = str(50)#این یک متغیر رشته ای یا String است var5= float(55) #این یک متغیر از نوع Float است var6=float("50") # این یک متغیر رشته ای تبدیل شده به نوع Floatاست
متغیر های رشته ای را میتوان هم به صورت تک کوتیشن و هم بصورت دابل کوتیشن نوشت
x = "Gisoomtarh" # خروجی این دو متغیر دقیقا یکسان می باشد x = 'Gisoomtarh'
نامگذاری متغیر ها در پایتون
متغیر در پایتون میتواند یک نام کوتاه داشته باشد (مانند x و y ) یا یک نام با قابلیت توصیفی بیشتر مانند (سن ، نام ، حجم کلی، سرعت یا هر چیز دیگر).
قوانین نامگذاری متغیرهای پایتون:
- نام متغیر باید با حروف یا آندرلاین (_) شروع شود.
- نام متغیر نمی تواند با عدد شروع شود.
- نام متغیر فقط میتواند شامل الفبا (A-Z) و اعداد (0-9) و نویسه آندرلاین (_) باشد.
- نام متغیر ها در پایتون نسبت به بزرگی و کوچکی حروف حساس هستند در نتیجه Name , name , NAME سه متغیر متفاوت هستند.
تخصیص مقادیر به چند متغیر
پایتون اجازه میدهد تا چند متغیر را در یک خط مقدار دهی کنید . به مثال پایین توجه کنید:
x, y, z = "Nissan", "Cadillac", "Ferrari" print(x) print(y) print(z)
خروجی مثال بالا:
Nissan Cadillac Ferrari
همچنین می توانید یک مقدار ثابت را به چند متغیر در یک خط تخصیص دهید.
x = y = z = "Gisoomtarh.com" print(x) print(y) print(z)
خروجی مثال بالا :
Gisoomtarh.com Gisoomtarh.com Gisoomtarh.com
چاپ خروجی متغیرها:
برای نمایش مقادیر تخصیص یافته به متغیرهای پایتون از دستور Print استفاده می شود.
همچنین برای اتصال مقدار رشته ای و مقدار موجود در یک متغیر از علامت + استفاده می شود.
برای مثال :
x = "fun!" print("Python is " + x)
خروجی برنامه بالا :
Python is fun!
همچنین از علامت + می توان برای ترکیب دو یا چند متغیر با هم استفاده کرد.
x = "Python is " y = "fun!" z = x + y print(z)
خروجی مثال:
Python is fun!
توجه : در ترکیب متغیر ها با مقادیر عددی علامت (+) بعنوان عملگر ریاضی کار می کند. همچنین اگر بخواهید متغیری با مقدار عددی را با یک متغیر با مقدار رشته ای ترکیب کنید ، با خطا مواجه خواهید شد.
مثال :
x = 20 y = 100 print(x + y)
خروجی :
120
مثال دیگر:
x = 32 y = "is a digit" print(x + y)
خروجی پیغام خطا:
TypeError: unsupported operand type(s) for +: 'int' and 'str'
متغیرهای لوکال (محلی) [Local Variables]
متغیر محلی به متغیری گفته میشود که در هنگام به پایان رسیدن ماژولها و توابع برنامه نویسی که این متغیر در آن بهکار برده شدهاست، مقدار خود را از دست میدهد. در حالت معمول با اجرای یک تابع یا یک ماژول متغیرهایی در درون آن مقداردهی میشوند. که اگر این متغیرها از نوع محلی باشند با خروج از تابع یا ماژول مقداری که در آنها مقداردهی شده بود ازبین میرود.
متغیرهای گلوبال (سراسری) [Global Variables]
در مثال پایین متغیری بصورت سراسری در بیرون تابع ایجاد شده و در درون تابع استفاده می شود.
x = "easy to learn." def myfunc(): print("Python is " + x) myfunc()
خروجی برنامه بالا :
Python is easy to learn.
اگر دو متغیر هم نام هم زمان در برنامه قرار بگیرند. متغیری که در داخل تابع قرار گرفته است بعنوان متغیر محلی استفاده می شود. و متغیر بیرون تابع بعنوان متغیر سراسری با همان مقادیر قابل استفاده باقی خواهد ماند. ولی می توان آن را در جایی دیگر از برنامه استفاده شود.
مثال :
x = "fun!" def myfunc(): x = "fantastic." print("Python is " + x) myfunc()
خروجی برنامه:
Python is fantastic.
مثال زیر نشان می دهد ابتدا متغیر داخل تابع بعنوان متغیر محلی توسط دستور print داخلی تابع چاپ می شود و زمانی که اجرای تابع به انتها رسید دستور print انتهای برنامه متغیر x بیرونی را بعنوان متغیر سراسری تشخیص داده و در خروجی چاپ می کند.
x = "fun!" def myfunc(): x = "fantastic." print("Python is " + x) myfunc() print("Python is " + x)
خروجی برنامه بالا:
Python is fantastic. Python is fun!
کلیدواژه سراسری یا [global Keyword]
def myfunc(): global x x = "fantastic" myfunc() print("Python is " + x)
خروجی برنامه بالا :
Python is fantastic
همچنین با استفاده از کلید واژه global در داخل تابع می توان متغیر محلی را به متغیر سراسری تبدیل کرد. حتی اگر یک متغیر سراسری دیگر در بیرون تابع وجود داشته باشد مقدار متغیر داخلی که با استفاده از کلید واژه global تبدیل به نوع سراسری شده در خروجی نمایش داده می شود. علت این موضوع این است که متغیرهایی که در داخل تابع نوشته می شوند از اولویت بیشتری برای استفاده نسبت به متغیرهای بیرون تابع برخوردارند.
به مثال زیر توجه کنید :
x = "fun!" def myfunc(): global x x = "fantastic" myfunc() print("Python is " + x)
خروجی برنامه بالا:
Python is fantastic