متغیّر چیست؟

 ? What is Variable

 

فرض کنید که قرار است شما به کوه بروید. کوله پشتی خود را از لوازم ضروری پر می کنید و راه می‌افتید. برای دسترسی به لوازمتان مجبور هستید که  بایستید و آنها را از کوله پشتی خارج کنید تا بتوانید از آن‌ها استفاده نمایید! قطعا این کار وقت‌گیر است. حال برای این‌که مجبور نباشید هربار آن‌چه لازم دارید را از کوله پشتی خارج کنید، ازجیب‌های خود برای لوازم پر استفاده استفاده می‌کنید. مثلاً چاقو و قطب‌نما را در جیب خود می‌گذارید.

در این مثال جیب شما یک Variable یا متغیّر است و در کامپیوتر قسمتی از حافظه که به یک داده یا مقدار اختصاص می‌یابد.

کمی تخصّصی‌تر:

متغیّرها یا همان جیب‌های کت شما قسمت‌هایی از همانRAM یا Random Access Memory (حافظه‌ی با دسترسی تصادفی) هستند که هرکدام دارای نام و آدرس مخصوص خود در این فضای حافظه می‌باشند. همان‌طور که برای برداشتن یک خودکار دست در جیبمان می‌کنیم، هر متغیّر را که لازم باشد، صدا می‌زنیم، مقدارش را استفاده می‌کنیم و در جای خود قرار می‌گیرد. در واقع داده ها برای مدّت کوتاه و با سرعت بسیار زیاد در محیط RAM در دسترسند.

داده‌ها (یادآوری)

در جلسه دوم انواع داده‌ها را بررسی کردیم:

در پایتون برخلاف بعضی زبان‌های برنامه نویسی دیگر مانند C، نیازی به تعریف نوع متغیّر برای کامپیوتر نیست، امّا لازم است برای استفاده از آن، دقت لازم را داشته باشیم!

نام متغیّر

برای این‌که بتوانیم یک متغیّر را تعریف کنیم، باید برای آن نامی انتخاب کنیم. انتخاب این نام در پایتون مقرّراتی دارد:

مقرّرات نام‌های مُجاز :

  1. نام متغیّر باید با حروف الفبای انگلیسی یا _ (Underline یا Underscore) شروع شود.
  2. حروف کوچک (a) با حروف بزرگ (A) متغیّرهای متفاوت ایجاد می‌کنند.
  3. تنها علامت مجاز _ (Underline , Underscore) است.

نام‌های غیر مُجاز :

  1. نمی‌تواند فقط عدد باشد (حدّاقل یک حرف لازم دارد).
  2. نام متغیّر نمی‌تواند با عدد شروع شود.
  3. از مِنها  –  Dash نمی‌توان در آن استفاده کرد.
  4. Special Characters یا همان حروف خاص مثل ! @ # $ … در آن قابل استفاده نیست.
  5. عملگرهای ریاضی یا منطقی در آن جایی ندارند.

در واقع فقط از Underline ( _ ) , Alphabet ( A – z ) , number (0-9) استفاده می‌شود

پایتون Case Sensitive است یعنی به کوچک یا بزرگ بودن حروف حساس است، پس ALI ، ali ، Ali و … فرق دارند و هر کدام متغیّری جدا هستند .

 

Indentation واجب است یعنی تورفتگی دستورهای هم رده به‌صورت یکسان و یک اندازه و زیرهم قرار گرفتن آن‌ها در یک ستون باید رعایت شود.

 

 یک قرارداد مهم: از حالت نگارش snake_case برای متغیّرهای پایتون استفاده می‌کنیم به این معنی که از کلماتِ با مفهوم و به‌هم چسبیده‌ای که حرف اوّل همه‌ی آن‌ها کوچک و بین کلمات ـ (Underscore یا Underline) است، بهره می‌گیریم. مثال:

my_first_name

 

مثال‌های صحیح:

myvar = "John"
my_var = "John"
_my_var = "John"
myVar = "John"
MYVAR = "John"
myvar2 = "John"

مثال‌های غلط:

2myvar = "John"
my-var = "John"
my var = "John"

بعضی کلمات، در پایتون از پیش تعریف شده هستند ( Reserved Character ) و ما نمی‌توانیم از آن‌ها به عنوان متغیّر استفاده کنیم. این عبارات در جدول زیر آمده‌اند:

مقدار متغیّر

فعلاً با سه نوع مقدار که متغیّرها می‌توانند در خود جای دهند آشنا می‌شویم:

  1. اعداد
  2. حروف (رشته‌ها)
  3. منطقی

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

برای تعریف رشته آن‌را در ‘ ‘  quote (کُتیشن یا کُ…ت) یا ” “  double quote قرار می‌دهیم.

مقدار = نام_متغییر

name = "mahdi"
age = 18

منطقی‌ها به صورت مقداریِ True یا False می‌باشند.

is_single = True

برای چاپ مقدار متغیّر از دستور print به صورت زیر استفاده می‌نماییم:

name = "Akbar"
print(name)

بررسی نوع متغیّر

اگر نوع متغیّر خود را نمی‌دانید، می‌توانید ابتدا آن را تعریف کنید و سپس از دستور زیر استفاده کنید:

print ( type ( variable_name ) )

برای :

  1. رشته : str
  2. اعداد صحیح : int
  3. اعداد اعشاری : float

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

ورود داده‌ها

گاهی اوقات نیازمندیم تا مقداری را از کاربر دریافت کنیم. برای این کار از دستور input استفاده می کنیم

a = input ()

توجّه داشته باشید که نوع داده‌ای که در متغیّر قرار می‌گیرد به صورت پیش فرض  string است و در صورت نیاز به دریافت عدد باید آن رابا تابع int(x) یا float(x) به عدد تبدیل کرد.

b = int(input())