آموزش پایتون

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

بررسی متغیرهای محلی و سراسری در پایتون

در برنامه‌نویسی، یک متغیر (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 سه متغیر متفاوت هستند.
یادآوری : متغیر های پایتون نسبت به بزرگی و کوچکی حروف حساس هستند . به این ویژگی case-sensitive می گویند.

تخصیص مقادیر به چند متغیر

پایتون اجازه میدهد تا چند متغیر را در یک خط مقدار دهی کنید . به مثال پایین توجه کنید:

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]

به طور معمول، زمانی که یک متغیر را در یک تابع ایجاد می‌کنید، متغیر محلی است، و تنها می‌تواند در آن تابع مورد استفاده قرار گیرد. برای ایجاد یک متغیر سراسری در داخل یک تابع، می‌توانید از کلید واژه سراسری یا  global استفاده کنید.
توجه : زمانی که در تابع از کلید واژه global استفاده می شود . متغیر محلی به متغیر سراسری تبدیل می شود.
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

مهم : متغیرهایی که در داخل تابع نوشته می شوند از اولویت بیشتری برای استفاده نسبت به متغیرهای بیرون تابع برخوردارند.

 

 

 

میثم پورواحدی

خوشحالم که با جدیت در حال پروراندن رویایم هستم. گیسوم‌طرح برایم فقط یک رویا نیست ، یک دوست خوب و یک معلم فوقالعادست...

نوشته های مشابه

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

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

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

دکمه بازگشت به بالا