متغیرها در پایتون
در پایتون، متغیرها برای ذخیره دادههایی استفاده میشوند که در طول اجرای برنامه میتوان به آنها ارجاع داد و آنها را تغییر داد. یک متغیر در واقع نامی است که به یک مقدار نسبت داده میشود. برخلاف بسیاری از زبانهای برنامهنویسی دیگر، در پایتون نیاز نیست نوع متغیر را بهطور صریح اعلام کنید. نوع متغیر بر اساس مقداری که به آن داده میشود، بهطور خودکار مشخص میشود.
متغیرها بهعنوان نگهدارنده دادهها عمل میکنند. آنها به ما این امکان را میدهند که مقادیر را ذخیره و مجدداً استفاده کنیم.
مثال:
x = 5
y = "Samantha"
print(x)
print(y)
خروجی:
5
Samantha
در این مقاله با مفاهیم زیر آشنا میشویم:
- قوانین نامگذاری متغیرها
- نسبت دادن مقدار به متغیرها
- نسبت دادن چند مقدار همزمان
- تبدیل نوع متغیر
- گرفتن نوع متغیر
- حوزهی متغیر (Scope)
- ارجاع به شیء در پایتون
- حذف متغیر با کلیدواژه
del
قوانین نامگذاری متغیرها
برای استفاده درست از متغیرها در پایتون باید قوانین زیر را رعایت کرد:
- نام متغیر فقط میتواند شامل حروف، اعداد و آندرلاین (_) باشد.
- نام متغیر نمیتواند با عدد شروع شود.
- نامها به حروف کوچک و بزرگ حساساند (
myVar
باmyvar
متفاوت است). - نباید از کلمات کلیدی پایتون مانند
if
،else
،for
بهعنوان نام متغیر استفاده کرد.
نسبت دادن مقدار به متغیرها
نسبتدهی ساده
در پایتون، مقداردهی به متغیر با استفاده از عملگر =
انجام میشود.
تایپ پویا
پایتون دارای نوعدهی پویا است؛ یعنی یک متغیر میتواند در زمانهای مختلف مقادیر با نوعهای متفاوت بگیرد.
نسبت دادن چند مقدار
نسبت دادن یکسان
میتوان چند متغیر را در یک خط با یک مقدار مقداردهی کرد:
a = b = c = 100
print(a, b, c)
خروجی:
100 100 100
نسبت دادن مقادیر متفاوت
a, b, c = 1, 2.5, "Python"
print(a, b, c)
خروجی:
1 2.5 Python
تبدیل نوع متغیر (Type Casting)
تبدیل نوع به معنای تبدیل مقدار از یک نوع داده به نوع دیگر است. پایتون توابعی برای این کار فراهم کرده است:
int()
– تبدیل به عدد صحیحfloat()
– تبدیل به عدد اعشاریstr()
– تبدیل به رشته
مثال:
x = int(10.5)
y = float(5)
z = str(25)
print(x, y, z)
خروجی:
10
5.0
25
دریافت نوع متغیر
برای بررسی نوع متغیر از تابع type()
استفاده میکنیم.
print(type(5)) # <class 'int'>
print(type(5.0)) # <class 'float'>
print(type("Hi")) # <class 'str'>
print(type([1,2])) # <class 'list'>
print(type({"a":1})) # <class 'dict'>
print(type(True)) # <class 'bool'>
محدوده متغیر (Scope)
در پایتون دو نوع محدوده برای متغیرها وجود دارد:
متغیر محلی (Local):
متغیرهایی که داخل یک تابع تعریف میشوند فقط در همان تابع قابل دسترسی هستند.
def func():
x = "I am local"
print(x)
func()
خروجی:
I am local
متغیر سراسری (Global):
متغیرهایی که خارج از تابع تعریف شدهاند در کل برنامه قابل استفادهاند.
x = "global"
def func():
global x
x = "Modified globally"
print(x)
func()
print(x)
خروجی:
Modified globally
Modified globally
ارجاع به شیء در پایتون
x = 5
y = x
پایتون هنگام اجرای x = 5
شیئی برای عدد ۵ ایجاد میکند و x
به آن ارجاع میدهد. سپس y = x
نیز به همان شیء ارجاع میدهد. این یعنی هر دو متغیر به یک شیء اشاره دارند.
اگر حالا بنویسیم:
x = "Geeks"
یک شیء جدید ایجاد میشود و x
به آن ارجاع میدهد. اما y
همچنان به مقدار قبلی یعنی 5
اشاره دارد.
y = "Computer"
حالا y
نیز به یک شیء جدید اشاره دارد. شیء عدد ۵ دیگر هیچ ارجاعی ندارد و در آینده توسط سیستم garbage collection حذف خواهد شد.
حذف متغیر با استفاده از del
میتوان با کلیدواژه del
متغیر را حذف کرد:
x = 10
del x
#print(x) # خطا: NameError
مثالهای کاربردی
1. جابجایی مقدار دو متغیر:
a = 5
b = 10
a, b = b, a
print(a, b)
خروجی:
10 5
2. شمارش تعداد کاراکترهای یک رشته:
word = "Python"
length = len(word)
print("Length of the word:", length)
خروجی:
Length of the word: 6
آزمون پایتون:
- آزمون متغیرها در پایتون
مطالب مرتبط:
- متغیرهای سراسری و محلی در پایتون
- حوزه متغیرها
- تابع
int()
در پایتون - تابع
float()
در پایتون - تابع
str()
در پایتون - نسبت دادن تابع به متغیر
- درج متغیر در رشته
- تبدیل نوع در پایتون
سوالات متداول:
محدوده متغیر در پایتون چیست؟
محدوده متغیر مشخص میکند که متغیر در کجا قابل دسترسی است. متغیرهای محلی فقط درون تابع خودشان قابل استفادهاند. متغیرهای سراسری در کل برنامه.
آیا میتوان نوع متغیر را پس از مقداردهی تغییر داد؟
بله، پایتون دارای تایپ پویاست و متغیر میتواند نوع جدیدی از مقدار بگیرد.
اگر متغیر تعریفنشدهای استفاده شود چه میشود؟
خطای NameError
رخ میدهد. همیشه قبل از استفاده متغیر را مقداردهی کنید.
چگونه متغیری را حذف کنیم؟
با استفاده از del
:
x = 10
del x
# print(x) # NameError
دیدگاهتان را بنویسید