پایتون (Python) یکی از معروفترین زبانهای برنامه نویسی حال حاضر به شمار میآید. پایتون بسیار سریع است و به برنامه نویسان امکان پیاده سازی ساده کدها را فراهم کرده است. دسترسی آسان، خوانایی بالا، سینتکس قابل فهم و ... یادگیری پایتون را برای مبتدیان آسان ساخته است. متغیرها (Variables) اولین و پایهترین مباحث در هر زبان برنامه نویسی بهخصوص پایتون هستند که باید بهطور کامل با آنها آشنا شوید. در این مقاله به بررسی متغیرهای موجود در پایتون و نحوه ایجاد آنها میپردازیم و همچنین مشکلات و بهترین راهحلها را با هم بررسی خواهیم کرد. هر آنچه برای یادگیری و اشراف به متغیرهای پایتون نیاز دارید در ادامه آورده شده است.
متغیر یا Variable در پایتون چیست؟
متغیرها همانند جعبههایی هستند که مقادیر را در خود ذخیره میکنند. از آنها میتوانید برای ذخیره هر نوعی از داده؛ مانند اعداد، نوشتهها، آرایهها و ... استفاده کنید. نام متغیر همانند برچسبی است که روی جعبه زده میشود و با آن نام میتوانید مقادیر خود را فراخوانی کنید.
متغیرها بسیار کارآمد هستند زیرا میتوانید اطلاعات مختلفی را در برنامه خود ذخیره و استفاده کنید. در ادامه با مفهوم اساسی و کلی متغیرها و نحوه استفاده از متغیرها در پایتون آشنا خواهید شد.
نام یک متغیر در پایتون
همانطور که گفته شد هر متغیر یک نام دارد که میتوانید با فراخوانی نام متغیر، به دادههای درون متغیر دسترسی داشته باشید. برای نامگذاری متغیرها در پایتون باید از چند قانون ساده پیروی کنید:
- نام متغیرها فقط میتواند شامل حروف، اعداد و آندرلاین (ـ) باشد.
- نام متغیرها نمیتوانند با عدد شروع شوند.
- نام متغیرها به حروف کوچک و بزرگ حساس هستند (my_variable با My_Variable متفاوت است).
همچنین چند قرارداد کلی بین برنامه نویسها وجود دارد که افراد هنگام نامگذاری متغیرها از آنها استفاده میکنند و بهتر است از آنها پیروی کنید:
- نام متغیرها بهتر است کوتاه اما توصیفی باشد.
- نام متغیرها بهتر است همه با حروف کوچک باشد.
- اگر نیاز به استفاده از چندین کلمه در نام متغیر خود دارید، میتوانید آنها را با زیرخط (آندرلاین) جدا کنید. مثال: my_very_long_variable_name = 42.
ایجاد متغیر در پایتون
ایجاد متغیر در زبان برنامه نویسی پایتون بسیار ساده است. کافی است ابتدا نام متغیر و سپس عملگر = و سپس مقدار متغیر را وارد کنید. به مثال زیر توجه کنید:
my_variable = 42
در این مثال ما متغیری با نام my_variable ایجاد کردیم و مقدار 42 را به آن اختصاص دادیم. سپس میتوانید با فراخوانی نام متغیر، هر جای برنامه به مقدار آن یعنی 42 دسترسی داشته باشید. به مثال زیر توجه کنید:
my_variable = 42
print(my_variable)
خروجی این کد عدد 42 است.
انتخاب نوع متغیر در پایتون
برخلاف سایر زبانهای برنامه نویسی، پایتون از شما نوع متغیر را نمیخواهد و بهصورت خودکار تشخیص میدهد.
مثال:
x = "Hubspot"
x = 'Hubspot'
تغییر یک متغیر در پایتون
شما میتوانید به راحتی مقادیر یک متغیر را بدون مشکل تغییر دهید.
مثال:
my_variable = 42
my_variable = "Hello, world!"
در ابتدا متغیر my_variable از نوع عددی یا integet تعریف شده است. در خط بعد با تغییر مقدار متغیر، نوع متغیر به string یا رشتهای تغییر کرده است. این تغیر هوشمند نوع متغیر یکی از مزایای استفاده از زبان تاپ و پویای پایتون است.
چندین متغیر را هم زمان اختصاص دهید
در پایتون میتوانید چندین متغیر را بهطور هم زمان مقداردهی کنید.
مثال:
a, b = (0, 42)
در این کد مقدار 0 را به متغیر a و مقدار 42 را به متغیر b اختصاص میدهیم. همچنین میتوانید از این روش برای تعویض مقادیر دو متغیر استفاده کنید:
a, b = b, a
این دستور مقدار b را میگیرد و آن را به a اختصاص میدهد و بالعکس.
همچنین میتوانید چندین متغیر را از یک لیست اختصاص دهید:
a, b, c = [0, 42, "hello"]
با این کار اولین مقدار در لیست یعنی (0) به a، مقدار دوم (42) به b و مقدار سوم ("hello ") به c اختصاص مییابد.
توجه: این تنها در صورتی کار میکند که تعداد متغیرهای اختصاص داده شده با تعداد مقادیر موجود در لیست مطابقت داشته باشد. در غیر این صورت با خطا مواجه خواهید شد.
تشخیص نوع متغیر در پایتون
دانستن نوع متغیر در پایتون میتواند مفید باشد. در پایتون از تابع type() برای پیدا کردن نوع متغیر استفاده کنید.
type(my_variable)
این بسته به نوع متغیر و داده آن، int، str، list، dict، tuple و غیره را برمیگرداند.
به مثال زیر دقت کنید:
x = 10
y = "Hubspot"
print(type(x)) # class 'int'
print(type(y)) # class 'str'
همچنین میتوانید از تابع isinstance() برای بررسی اینکه آیا یک متغیر از نوع خاصی است استفاده کنید:
isinstance(my_variable, str)
سپس این تابع به شما با برگرداندن مقدار True یا False به شما میفهماند که متغیر my_variable از نوع str است یا خیر.
حذف یک متغیر در پایتون
اگر میخواهید متغیری را در پایتون حذف کنید، میتوانید از کلمه کلیدی del استفاده کنید.
مثال:
del my_variable, my_other_variable
با این کار هم my_variable و هم my_other_variable از namespace شما حذف میشود.
بهطور کلی شما نیازی به حذف متغیرها ندارید؛ اما این کار در مواردی نیز میتواند مفید باشد:
- وقتی کار با یک ساختار داده بزرگ تمام شد و میخواهید حافظه رم را آزاد کنید.
- هنگامی که میخواهید مطمئن شوید که یک متغیر دیگر قابل دسترسی یا تغییر نیست.
- زمانی که میخواهید از تداخل احتمالی نام با متغیرهای جدید جلوگیری کنید.
به خاطر داشته باشید که وقتی یک متغیر را حذف میکنید، برای همیشه از بین میرود. هیچ راهی برای بازیابی آن وجود ندارد، بنابراین مطمئن شوید که فقط متغیرهایی را حذف میکنید که دیگر به آن و مقادیر آن نیاز ندارید.
محدوده متغیرها: متغیرهای محلی (Local) و جهانی (Global) در پایتون
هنگام کار با متغیرها در پایتون، باید از محدوده متغیر آگاه باشید. محدوده متغیر بخشی از کد شما است که آن متغیر در آن قابل دسترس است و در آن محدوده مجاز به استفاده از آن متغیر هستید. وقتی یک متغیر در پایتون ایجاد میکنید، متغیر محلی یا جهانی است.
- یک متغیر محلی یا Local فقط در محدودهای که در آن ایجاد شده است در دسترس است. به عنوان مثال، اگر یک متغیر در داخل یک تابع ایجاد کنید، فقط در داخل آن تابع در دسترس خواهد بود.
- یک متغیر جهانی یا Global در کل برنامه پایتون شما در دسترس است. به عنوان مثال، اگر متغیری را در سطح بالای برنامه خود (خارج از هر توابعی) ایجاد کنید، در سراسر برنامه شما در دسترس خواهد بود.
به بیان ساده اگر میخواهید متغیر شما در همه جای برنامه در دسترس باشد میتوانید آن را خارج از هر محدودهای و در بدنه اصلی کدها تعریف کنید. اگر میخواهید آن متغیر فقط در محدوده خاصی معتبر باشد میتوانید آن را در محدوده مدنظر تعریف کنید.
توجه: بهطور کلی باید از استفاده از متغیرهای سراسری در کد خود اجتناب کنید، زیرا میتوانند منجر به نتایج غیرمنتظره شوند و دیباگ کد شما را دشوار کنند.
در زیر نمونهای از یک متغیر جهانی آورده شده است:
my_var = "Hello, world!"
def my_func():
print(my_var)
در این مثال، متغیر my_var به عنوان یک متغیر جهانی اعلام شده است. این بدان معنی است که در کل برنامه قابل دسترسی و استفاده است. در تابع my_func()، ما به سادگی مقدار my_var را روی صفحه چاپ میکنیم.
حال، فرض کنید میخواهیم یک متغیر محلی در داخل تابع ایجاد کنیم:
def my_func():
my_var = "Hello, world!"
print(my_var)
در این مثال، متغیر my_var به عنوان یک متغیر محلی در داخل تابع اعلام شده است. این بدان معناست که فقط از داخل تابع قابل دسترسی است. اگر سعی کنیم خارج از تابع به آن دسترسی پیدا کنیم، با یک خطا مواجه خواهیم شد:
def my_func():
my_var = "Hello, world!"
print(my_var)
نتیجه این کد یک خطا است زیرا متغیر my_var خارج از تابع در دسترس نیست.
با در محدودههای مشخص، با استفاده از کلمه کلیدی global، میتوانید متغیرها را بهعنوان محدوده جهانی در داخل یک تابع نیز اعلام کنید.
به مثال زیر دقت کنید:
def my_func():
global my_var
my_var = "Hello, world!"
print(my_var)
در این کد از کلمه کلیدی global برای اعلام متغیر my_var به عنوان یک متغیر جهانی استفاده شده است. حال متغیر my_var یک متغیر با محدوده جهانی در پایتون است و هیچ تفاوتی با متغیرهای خارج از تابع ندارد و به راحتی میتوانید هرجای برنامه از آن استفاده کنید.
مشکلات رایج هنگام کار با متغیرها در پایتون
هنگام کار با متغیرها در پایتون باید به چند نکته توجه کرد. بهتر است در ابتدا به برخی از رایجترین اشتباهات پایتون بپردازیم.
اشتباه شماره 1: عدم تخصیص یک داده به متغیر
یکی از اشتباهات رایج در هنگام کار با متغیرها پایتون این است که سعی میکنید قبل از تخصیص متغیر، از آن متغیر استفاده کنید.
به مثال زیر دقت کنید:
print(my_variable)
این کد باعث خطا میشود زیرا my_variable هنوز مقداری به آن اختصاص داده نشده است. ابتدا باید کاری شبیه به کد زیر انجام دهید:
my_variable = None
print(my_variable)
با این کار None روی صفحه نمایش داده میشود که مقدار پیش فرض متغیرهایی است که با مقدار خاصی مقداردهی اولیه نشدهاند.
اشتباه شماره 2: تخصیص مجدد یک مقدار ثابت
یکی دیگر از اشتباهات رایج، تلاش برای تخصیص مجدد یک مقدار ثابت به یک متغیر از قبل تعریف شده است. برای مثال، ممکن است کدی مانند این را ببینید:
PI = "Hello, world!"
مثال بالا باعث خطا میشود زیرا PI (متغیر عدد پی) یک مقدار ثابت است (بهطور پیش فرض در math.pi تنظیم شده است) و نمیتوان آن را تغییر داد.
مقدار ثابت مقداری است که قابل تغییر نیست. در پایتون، چند ثابت داخلی مانند None، True و False وجود دارد. شما همچنین میتوانید ثابتهای خود را با استفاده از ماژول math ایجاد کنید. ماژول math ماژولی است که به شما امکان میدهد با استفاده از کلمه کلیدی import، ثابتهای خود را در پایتون ایجاد کنید.
اگر میخواهید مقدار PI را مجدداً اختصاص دهید، باید کاری شبیه به این انجام دهید:
import math
math.pi = "Hello, world!"
این کد با موفقیت مقدار PI را به "Hello, world!" تغییر میدهد.
اشتباه شماره 3: استفاده از متغیرهای اعلام نشده
یکی دیگر از اشتباهات رایج استفاده از یک متغیر اعلام نشده است.
به مثال زیر دقت کنید:
print(x) # this will cause an error!
این کار باعث خطا میشود؛ زیرا متغیری اعلام نشده است.
جمع بندی
متغیرها جزئی ضروری و پرکاربرد در هر زبان برنامه نویسی بهخصوص پایتون هستند. بهطور کلی ایجاد و استفاده از متغیرها در پایتون ساده است. فقط با در نظر گرفتن چند نکته ساده به راحتی میتوانید متغیرهای با معنی و بدون خطا ایجاد کنید و به راحتی از آنها استفاده کنید. با بررسی اشتباهات رایج متغیرها در پایتون همچنین به راحتی میتوانید از عموم خطاها آگاه باشید. در این مقاله به برسی کلی متغیرها در پایتون پرداختیم و در نهایت شما میتوانید به راحتی متغیرهای خود را ایجاد و از آن استفاده کنید.