Table of Contents
نامگذاری و ایجاد متغیرها در پایتون
در این بخش تمرکز ما روی «چگونه ساختن» متغیرهاست؛ اینکه نامشان را چطور انتخاب کنیم، چطور مقدار بدهیم، و چند نکتهٔ مهم هنگام این کار.
انتساب (Assignment): استفاده از علامت `=`
برای ساخت یک متغیر جدید در پایتون کافی است یک «نام» انتخاب کنید و با علامت = به آن مقدار بدهید:
x = 10
name = "Ali"
pi = 3.14
از این لحظه به بعد، میتوانید از x، name و pi در بقیهٔ برنامه استفاده کنید.
علامت = در پایتون بهمعنای «برابر بودن» ریاضی نیست، بلکه یعنی:
«مقدار سمت راست را در متغیر سمت چپ ذخیره کن.»
مثال:
a = 5 # مقدار 5 در متغیر a قرار میگیرد
b = a # الان b هم 5 است (کپی مقدار a در b)
a = 10 # a عوض شد، ولی b همچنان 5 استقوانین نامگذاری متغیرها
نام متغیرها در پایتون باید از این قوانین پیروی کنند:
- فقط میتوانند شامل:
- حروف انگلیسی کوچک و بزرگ:
aتاzوAتاZ - اعداد:
0تا9 - زیرخط (underline):
_ - نمیتوانند با عدد شروع شوند:
age1 = 20 # درست
a1ge = 20 # درست
1age = 20 # نادرست، خطا میدهد- فاصله (space) در نام متغیر مجاز نیست:
user name = "Ali" # نادرست
user_name = "Ali" # درست- از نشانههای خاص مثل
@,#,-,!و ... نمیتوان استفاده کرد:
user-name = "Sara" # نادرست
user_name = "Sara" # درستحروف کوچک و بزرگ مهم هستند (Case Sensitive)
پایتون به تفاوت حروف کوچک و بزرگ حساس است. یعنی age و Age دو متغیر متفاوت هستند:
age = 20
Age = 30
print(age) # خروجی: 20
print(Age) # خروجی: 30بنابراین موقع استفاده از متغیر، دقیقا همان نامی را که تعریف کردهاید بنویسید.
استفاده نکردن از کلمات رزروشدهٔ پایتون
برخی کلمات در پایتون معنای خاص دارند و برای دستورهای زبان استفاده میشوند؛ به اینها کلمات کلیدی (keywords) میگویند و نباید بهعنوان نام متغیر از آنها استفاده کنید، مثل:
if, else, for, while, True, False, class, def, and, or, not, import, ...
مثال نادرست:
if = 10 # نادرست، خطای سینتکساگر شک داشتید که کلمهای رزرو شده هست یا نه، آن را در یک فایل پایتون در IDE یا VS Code تایپ کنید؛ معمولا با رنگ دیگری نمایش داده میشود.
سبکهای متداول نامگذاری (Naming Style)
پایتون یک «قاعدهٔ رسمی سخت» برای فرم نامها نمیگذارد، اما یک سبک رایج و پیشنهادی (طبق PEP 8) وجود دارد:
۱. `snake_case` برای متغیرها
برای متغیرها معمولا از حروف کوچک و جدا کردن کلمات با _ استفاده میشود:
user_nametotal_pricemax_scoreis_logged_in
این سبک خواندن کد را آسانتر میکند.
۲. نامهای معنیدار
نام متغیر را طوری انتخاب کنید که «معنا» داشته باشد:
x = 20 # نام مبهم
age = 20 # واضحتر: سن
t = 50000 # مبهم
monthly_salary = 50000 # حقوق ماهانهنام خوب باعث میشود حتی بعد از چند روز، با نگاه به کد متوجه شوید متغیر چه نقشی دارد.
ایجاد چند متغیر در یک خط
پایتون اجازه میدهد در یک خط چند متغیر بسازید؛ دو روش رایج:
۱. انتساب چندگانه با یک مقدار
x = y = z = 0
در این مثال، هر سه متغیر x، y و z مقدار 0 دارند.
۲. انتساب چندگانه با چند مقدار
x, y, z = 1, 2, 3
print(x) # 1
print(y) # 2
print(z) # 3تعداد متغیرهای سمت چپ باید با تعداد مقادیر سمت راست برابر باشد؛ وگرنه خطا میگیرید:
a, b = 1, 2, 3 # خطاتغییر مقدار متغیر (بازانتساب)
بعد از ایجاد یک متغیر، میتوانید هر زمان مقدارش را عوض کنید؛ فقط دوباره از = استفاده کنید:
counter = 0
counter = counter + 1 # حالا 1 است
counter = counter + 5 # حالا 6 استیا به شکل کوتاهتر (این شکل در فصل عملیات حسابی بیشتر دیده میشود):
counter = 0
counter += 1 # مثل counter = counter + 1خواندن مقدار متغیر با `print()`
برای دیدن مقدار متغیری که ساختهاید، معمولا در این مرحله از تابع print() استفاده میکنید:
name = "Ali"
age = 25
print(name)
print(age)این کار به شما کمک میکند بفهمید متغیر درست مقدار گرفته است یا نه.
خطای نام متغیر تعریفنشده (NameError)
اگر نام متغیری را استفاده کنید که هنوز به آن مقدار ندادهاید، پایتون خطای NameError میدهد:
print(x) # x هنوز تعریف نشدهخروجی (تقریبی):
NameError: name 'x' is not definedبرای جلوگیری از این خطا:
- همیشه قبل از استفاده از یک متغیر، آن را مقداردهی اولیه کنید.
- اگر مطمئن نیستید نام را درست نوشتهاید، املای آن را چک کنید (
ageباagفرق دارد).
متغیرهای موقت (کمکی) برای محاسبه
گاهی برای سادهتر کردن محاسبه یا خواناتر شدن کد، متغیرهای موقت میسازیم:
width = 5
height = 10
area = width * height # مساحت
double_area = area * 2 # دو برابر مساحت
print(area)
print(double_area)
ایجاد این متغیرهای میانی (مثل area) باعث میشود منطق برنامه مرحلهبهمرحله قابل فهم باشد.
تمرینهای پیشنهادی
برای تمرین ایجاد متغیرها:
- سه متغیر با نامهای معنیدار برای «نام»، «سن» و «شهر محل سکونت» بسازید و با
print()آنها را نمایش دهید. - دو متغیر
widthوheightبرای طول و عرض مستطیل تعریف کنید و متغیری به نامperimeterبرای محیط بسازید (از فرمول $P = 2 \times (width + height)$ استفاده کنید) و چاپ کنید. - تلاش کنید نامی مثل
forیاclassرا بهعنوان متغیر استفاده کنید و ببینید چه خطایی میگیرید. - یک بار از نام کوتاه و مبهم (
x,y) و یک بار از نامهای توصیفی (student_name,math_score) استفاده کنید و خودتان مقایسه کنید کدام کد خواناتر است.