Table of Contents
مقدمهٔ فصل
در این فصل با یکی از مهمترین مفاهیم برنامهنویسی آشنا میشوید: متغیرها و انواع داده در پایتون. تقریبا هر برنامهٔ واقعی که مینویسید، از متغیرها برای نگهداری اطلاعات استفاده میکند؛ مثل سن کاربر، نام او، جواب یک محاسبه، نتیجهٔ یک آزمون و غیره.
در پایان این فصل میتوانید:
- متغیر تعریف کنید و به آن مقدار بدهید.
- با سه نوع دادهٔ پایه در پایتون (عدد، متن، بولی) کار کنید.
- نوع دادهها را با تابع
type()بررسی کنید. - تفاوت عدد صحیح (
int) و اعشاری (float) را تشخیص دهید. - رشتهٔ متنی (
str) را بشناسید و استفاده کنید. - با مقادیر منطقی (
TrueوFalse) آشنا شوید.
در فصلهای بعدی، از همین مفاهیم بهطور مداوم استفاده خواهیم کرد.
۱. متغیر چیست؟
در ریاضی، وقتی مینویسیم $x = 5$ یعنی نمادی به نام $x$ داریم که مقدارش ۵ است. در برنامهنویسی هم متغیر تقریبا همین نقش را دارد: نامی که به یک مقدار نسبت داده میشود تا بعدا بتوانیم آن را استفاده یا تغییر دهیم.
- متغیر مثل یک جعبهٔ نامدار است که داخلش یک مقدار قرار میدهیم.
- خودِ جعبه (متغیر) را با یک نام مشخص میکنیم.
- میتوانیم هر زمان مقدار داخل جعبه را عوض کنیم.
مثال ساده در پایتون:
age = 20
name = "Ali"
height = 1.75در این مثال:
ageیک متغیر است که عدد ۲۰ را نگه میدارد.nameیک متغیر است که متن"Ali"را نگه میدارد.heightیک متغیر است که عدد اعشاری1.75را نگه میدارد.
۲. ایجاد متغیرها
۲.۱. انتساب (Assign) مقدار به متغیر
برای ساختن یک متغیر در پایتون، کافی است:
- یک نام متغیر انتخاب کنید،
- علامت
=را بنویسید، - مقدار مورد نظر را قرار دهید.
ساختار کلی:
$$
\text{variable\_name} = \text{value}
$$
مثالها:
x = 10
y = 3.14
message = "سلام"
is_student = True
پایتون نوع داده را خودش حدس میزند (چون یک زبان "نوعدهی پویا" است). یعنی لازم نیست بگویید int x یا string name؛ پایتون از روی مقدار، نوع را تشخیص میدهد.
۲.۲. قواعد نامگذاری متغیرها
نام متغیر باید از قوانین خاصی پیروی کند:
- فقط میتواند شامل:
- حروف انگلیسی
a-zوA-Z - ارقام
0-9 - کاراکتر زیرخط (underscore) یعنی
_ - نمیتواند با عدد شروع شود.
- فاصله (space) و علامتهایی مثل
-،!،?و ... مجاز نیستند. - به حروف بزرگ و کوچک حساس است (
nameباNameفرق دارد).
مثال نامهای درست:
age
user_name
total_price
a2
_xمثال نامهای نادرست (خطا ایجاد میکنند):
2age # شروع با عدد
user-name # استفاده از -
user name # استفاده از فاصله۲.۳. نامگذاری خوانا و معنادار
کد شما را خودتان و دیگران قرار است بخوانند. بهتر است نام متغیر:
- معنادار باشد:
scoreبهتر ازsاست. - انگلیسی و ساده باشد (در این دوره همین را تمرین میکنیم).
- از الگوی
snake_caseاستفاده کند: یعنی کلمات با_جدا شوند، مثلuser_age,total_price.
مثالهای پیشنهادی:
user_age = 25
student_name = "Sara"
item_count = 10
max_score = 100۲.۴. تغییر مقدار یک متغیر
متغیرها «متغیر» هستند! یعنی مقدارشان میتواند عوض شود:
counter = 0
counter = 1
counter = 2
در نهایت، مقدار counter برابر با 2 خواهد بود؛ مقادیر قبلی روی هم نوشته (overwrite) میشوند.
۲.۵. چند انتساب در یک خط (معرفی کوتاه)
گاهی میتوانید چند متغیر را در یک خط مقداردهی کنید:
x, y = 10, 20در این دوره برای خوانایی، معمولا هر انتساب را در یک خط جداگانه مینویسیم؛ اما دانستن این امکان مفید است.
۳. اعداد در پایتون (`int` و `float`)
پایتون برای نمایش اعداد، چند نوع داده دارد. در این فصل، با دو نوع اصلی آشنا میشویم:
- عدد صحیح:
int - عدد اعشاری (شناور):
float
۳.۱. `int` – عدد صحیح
int مخفف integer است و برای نمایش اعداد بدون قسمت اعشاری استفاده میشود؛ مثل:
0-5421000
مثال:
age = 30 # int
year = 2025 # int
temperature = -2 # int
پایتون خودش تشخیص میدهد اینها int هستند.
۳.۲. `float` – عدد اعشاری
float برای نمایش اعدادی است که بخش اعشاری دارند (یا ممکن است داشته باشند)، مثل:
3.14-0.52.0
در پایتون، جداکنندهٔ اعشار نقطه . است (نه ویرگول). مثال:
pi = 3.14 # float
height = 1.75 # float
score = 20.0 # float (حتی اگر اعشارش 0 باشد، باز هم float است)
اگر بنویسید 2 نوعش int است؛ اگر 2.0 بنویسید، float است.
۳.۳. تبدیل خودکار بین `int` و `float` (نگاه اولیه)
در عملیات حسابی، اگر int و float را با هم ترکیب کنید، نتیجه معمولا float میشود. جزئیات عملیات حسابی در فصل «عملیات پایه» میآید؛ اینجا فقط یک نگاه اولیه:
a = 2 # int
b = 3.0 # float
c = a + b # نتیجه: 5.0 (float)۴. متن در پایتون (`str`)
هر نوع متن در پایتون با نوع دادهٔ str (مخفف string) نمایش داده میشود. رشته یعنی دنبالهای از کاراکترها (حروف، اعداد، فاصله، علامتها و ...).
۴.۱. ساختن رشته
برای ساختن یک رشته:
- متن را داخل گیومهٔ دوتایی
" "یا گیومهٔ تکی' 'قرار دهید.
مثالها:
name = "Ali"
city = 'Tehran'
message = "سلام دنیا"پایتون با هر دو نوع گیومه مشکلی ندارد؛ فقط مهم است که شروع و پایان آنها یکسان باشد.
۴.۲. رشتهٔ خالی
گاهی لازم است یک رشتهٔ خالی داشته باشید (یعنی متنی که هیچ کاراکتری ندارد):
empty_text = ""۴.۳. رشتههای چندخطی (معرفی کوتاه)
برای متنهای طولانی یا چندخطی، میتوانید از سهتایی گیومه استفاده کنید:
long_text = """این یک متن
چند خطی است
در پایتون."""در فصلهای بعدی (مثلا هنگام کار با فایلها یا قالبها) بیشتر از این استفاده خواهیم کرد.
۵. مقادیر بولی (`True` و `False`)
نوع دادهٔ بولی (Boolean) فقط دو مقدار ممکن دارد:
True(درست)False(نادرست)
این نوع داده برای نمایش نتیجهٔ یک شرط یا پاسخ بله/خیر استفاده میشود؛ مثلا:
- آیا کاربر وارد شده است؟
is_logged_in = True - آیا نمرهٔ امتحان بالای ۱۰ است؟
passed = False
مثالها:
is_student = True
has_paid = Falseنکتهٔ مهم:
TrueوFalseباید با حرف بزرگ شروع شوند (حساس به حروف هستند).- اگر بنویسید
trueیاfalse(با حروف کوچک)، پایتون آنها را بهعنوان متغیر نگاه میکند و خطا میگیرید (مگر اینکه قبلا چنین متغیری ساخته باشید).
در فصل «شرطها (if / else)» استفادهٔ اصلی این نوع را خواهید دید.
۶. بررسی نوع داده با `type()`
برای اینکه بدانید یک متغیر چه نوع دادهای دارد، از تابع آمادهٔ type() استفاده میکنیم.
ساختار:
$$
\text{type}(\text{value or variable})
$$
مثال:
x = 10
y = 3.5
name = "Ali"
is_student = True
print(type(x))
print(type(y))
print(type(name))
print(type(is_student))خروجی چیزی شبیه این خواهد بود:
<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>از این تابع زیاد استفاده خواهیم کرد، مخصوصا وقتی تازه با انواع داده کار میکنید یا هنگام اشکالزدایی.
۷. تغییر نوع داده (تبدیل نوع – معرفی اولیه)
گاهی لازم است نوع داده را تبدیل کنید. به این کار میگویند type casting.
تابعهای مهم تبدیل نوع (منصرفاً آشنایی اولیه، جزئیات در فصلهای بعد):
int(x)→ تبدیل به عدد صحیح (اگر ممکن باشد)float(x)→ تبدیل به عدد اعشاریstr(x)→ تبدیل به رشتهٔ متنیbool(x)→ تبدیل به مقدار بولی
مثال:
age_text = "20"
age_number = int(age_text) # "20" (str) تبدیل میشود به 20 (int)
pi = 3.14
pi_text = str(pi) # 3.14 (float) تبدیل میشود به "3.14" (str)
در فصل «ورودی و خروجی کاربر» بیشتر با تبدیلها کار خواهیم کرد، چون ورودی کاربر همیشه به صورت str وارد میشود.
۸. متغیرها و حافظه (دید سادهٔ مفهومی)
برای درک بهتر متغیرها، تصویر ذهنی زیر مفید است:
- حافظهٔ کامپیوتر را مثل یک انبار بزرگ از «خانهها» تصور کنید.
- هر خانه میتواند یک مقدار نگه دارد.
- وقتی مینویسید:
x = 5
پایتون در یک خانه از حافظه مقدار 5 را میگذارد و نام x را به آن خانه ربط میدهد.
- اگر بعدا بنویسید:
x = 10
حالا x به مقداری جدید (۱۰) اشاره میکند؛ انگار برچسب x را از روی مقدار قبلی برداشته و روی مقدار جدید چسباندهاید.
لازم نیست جزئیات داخلی حافظه را بدانید، اما این تصویر ذهنی کمک میکند بفهمید چرا تغییر مقدار یک متغیر قبلی، مقدار متغیرهای دیگر را عوض نمیکند (مگر اینکه به همان «خانه» اشاره کنند؛ این بحث در فصلهای بعدی و در مورد لیستها و اشیاء مهمتر میشود).
۹. نکات و اشتباهات رایج در کار با متغیرها و انواع داده
چند خطای متداول مبتدیان هنگام کار با متغیرها:
۹.۱. استفاده از نام متغیر قبل از تعریف
print(x) # خطا: x هنوز تعریف نشده است
x = 10باید همیشه قبل از استفاده، به متغیر مقدار بدهید:
x = 10
print(x)۹.۲. نوشتن نام متغیر اشتباه (املای نادرست یا حروف کوچک/بزرگ متفاوت)
userName = "Ali"
print(username) # خطا: username با userName فرق داردپایتون به حروف کوچک و بزرگ حساس است.
۹.۳. اشتباه در استفاده از گیومهها برای رشتهها
name = Ali # خطا: Ali باید در گیومه باشد
name = "Ali" # درست۹.۴. استفاده از نامهای رزرو شده (کلمات کلیدی)
پایتون کلماتی دارد که برای خودش استفاده میکند؛ اینها را کلمهٔ کلیدی میگویند، مثلا: if, for, while, True, False, None و ...
نباید از اینها بهعنوان نام متغیر استفاده کنید:
if = 10 # خطا
True = 5 # خطادر فصلهای بعدی با کلمات کلیدی متداول آشنا میشوید.
۱۰. جمعبندی فصل
در این فصل آموختید که:
- متغیرها نامهایی هستند که به مقادیر در حافظه اشاره میکنند.
- با استفاده از
=به متغیرها مقدار میدهیم. - باید نام متغیرها را طبق قواعد خاصی و ترجیحا خوانا و معنادار انتخاب کنیم.
- سه نوع دادهٔ اصلی که فعلا با آنها سروکار داریم:
intبرای اعداد صحیحfloatبرای اعداد اعشاریstrبرای متون (رشتهها)- نوع دادهٔ
boolدو مقدارTrueوFalseدارد و در شرطها کاربرد دارد. - با تابع
type()میتوانیم نوع دادهٔ یک مقدار یا متغیر را بررسی کنیم. - با توابعی مثل
int()،float()وstr()میتوانیم نوع بعضی مقادیر را تبدیل کنیم.
از این به بعد، تقریبا در هر برنامهای که مینویسید، متغیرها و این انواع داده را خواهید دید. در فصل بعد، با عملیات پایه روی این انواع داده (جمع، تفریق، کار با رشتهها و ...) آشنا میشوید.