متغیرها
در این درس متغیر میسازید و مقدار آن را بهروز میکنید، قواعد نامگذاری را یاد میگیرید و چند مقدار را در یک خط جابهجا میکنید.
آنچه در این درس میآموزید
- متغیر بسازید و مقدار آن را بهروز کنید
- قواعد و قراردادهای نامگذاری متغیرها را رعایت کنید
- چند مقدار را همزمان در یک خط جابهجا کنید
فهرست مطالب
برنامه یعنی کار کردن با داده: خواندن، تغییر دادن و دوباره استفاده کردن. متغیر (Variable) اسمی است که به یک مقدار میچسبانید تا بعداً با همان اسم به آن دسترسی داشته باشید. در این درس میآموزید چطور متغیر بسازید، چه نامهایی برایش بگذارید و چطور مقدارش را عوض کنید.
متغیر چیست و چطور ساخته میشود؟
ساخت متغیر در پایتون فقط یک سطر میخواهد: نام، علامت مساوی، مقدار.
item = "book"
price = 250000
quantity = 3
total = price * quantity
print(item, total)book 750000
سطر اول متغیری به نام item میسازد و رشته «کتاب» را به آن میبندد. سطرهای بعدی هم همین کار را با عددها میکنند. در سطر چهارم، پایتون اول سمت راست مساوی را حساب میکند (۲۵۰۰۰۰ ضرب در ۳) و نتیجه را در total میگذارد.
یک نکته ذهنی مهم: علامت = در برنامهنویسی «مساوی است» ریاضی نیست؛ یعنی «بگذار در». عبارت total = price * quantity یک معادله نیست، یک دستور است: سمت راست را حساب کن و نتیجه را در متغیر سمت چپ ذخیره کن.
بهروزرسانی مقدار
یک متغیر در طول برنامه میتواند چند بار مقدار عوض کند؛ مقدار قبلی از بین میرود:
score = 10
score = score + 5
print(score)15
سطر دوم ممکن است اول عجیب به نظر برسد، ولی با قاعده «اول سمت راست» روشن میشود: پایتون مقدار فعلی score یعنی ۱۰ را میخواند، ۵ به آن اضافه میکند و ۱۵ را دوباره در همان متغیر میگذارد. این الگوی «بهروزرسانی بر اساس مقدار قبلی» آنقدر پرکاربرد است که در درس عملگرها میانبر += را برایش میبینیم.
قواعد نامگذاری
پایتون برای نام متغیرها قواعد سفتوسختی دارد:
- فقط حروف، رقم و زیرخط (
_) مجاز است؛ شروع با رقم ممنوع. - نامها به بزرگی و کوچکی حروف حساساند؛
priceوPriceدو متغیر متفاوتاند. - کلمات کلیدی زبان مثل
ifوforوclassقابل استفاده نیستند.
2cars = 5SyntaxError: invalid decimal literal
پایتون 2cars را شروعِ یک عدد میبیند و گیج میشود. نام با خط تیره (مثل my-name) هم خطا میدهد، چون پایتون آن را عمل تفریق میفهمد.
| نام | وضعیت | دلیل |
|---|---|---|
total_price |
مجاز | حروف و زیرخط |
user2 |
مجاز | رقم در وسط یا آخر اشکالی ندارد |
2cars |
نامجاز | شروع با رقم |
my-name |
نامجاز | خط تیره تفریق محسوب میشود |
class |
نامجاز | کلمه کلیدی زبان |
فراتر از قواعد، یک قرارداد جاری هم هست: برای نامهای چندبخشی از زیرخط استفاده کنید و همه را کوچک بنویسید؛ به این سبک میگویند snake_case. نامی مثل customer_age هزار بار خواناتر از x است؛ نام خوب، خودش را توضیح میدهد و کامنت لازم ندارد.
چند مقدار در یک خط
پایتون اجازه میدهد در یک سطر به چند متغیر مقدار بدهید، و حتی مقادیر دو متغیر را در یک سطر جابهجا کنید:
x, y = 1, 2
print(x, y)
x, y = y, x
print(x, y)1 2 2 1
سطر اول متغیر x را ۱ و y را ۲ میکند. سطر سوم یک الگوی خاص است: سمت راست اول کامل حساب میشود (زوج مقدار ۲ و ۱)، بعد تخصیص انجام میگیرد؛ برای همین جابهجایی بدون متغیر کمکی درست کار میکند. این ساختار در عمق خودش به تاپل وصل است که در درسهای بعدی جداگانه میبینید.
تمرینها
تمرین
تمرین ۱ — تبدیل دما
دما را در متغیری به نام celsius با مقدار ۳۰ نگه دارید و با فرمول celsius * 9 / 5 + 32 آن را به فارنهایت تبدیل کنید؛ سپس با f-string جملهای به شکل «30 درجه سلسیوس برابر 86.0 درجه فارنهایت است» چاپ کنید.
# Write your code hereنمایش راهحل
celsius = 30
fahrenheit = celsius * 9 / 5 + 32
print(f"{celsius} degrees Celsius equals {fahrenheit} degrees Fahrenheit")30 degrees Celsius equals 86.0 degrees Fahrenheit
::: :::
تمرین
تمرین ۲ — جابهجایی با متغیر کمکی
دو متغیر a = 3 و b = 7 دارید. مقدار آنها را با یک متغیر کمکی (بدون جابهجایی یکخطیِ درس) عوض کنید و در پایان هر دو را چاپ کنید.
# Write your code hereنمایش راهحل
a = 3
b = 7
temp = a
a = b
b = temp
print(a, b)7 3
::: :::
خلاصه
- متغیر با
name = valueساخته میشود؛ علامت=یعنی تخصیص، نه برابری ریاضی. - هنگام تخصیص، سمت راست اول کامل حساب میشود، بعد در متغیر گذاشته میشود.
- نام متغیر فقط حروف، رقم و زیرخط دارد؛ با رقم شروع نمیشود و کلمه کلیدی نیست.
- سبک نامگذاری پایتون snake_case است و نام باید معنیدار باشد.
- با
a, b = b, aمیتوان دو مقدار را در یک سطر جابهجا کرد.
مقدارهای متغیر انواع مختلفی دارند: عدد، متن، درست/غلط. در درس بعدی این انواع داده را دقیق و جداگانه میشناسیم.