فصل ۳: متغیرها و نوع دادهها در پایتون

در این فصل، به شناخت پایهای متغیرها، انواع دادهها و روشهای ذخیرهسازی و کار با اطلاعات در پایتون خواهیم پرداخت. این مباحث پایه و شالوده برنامهنویسی هستند. یاد گرفتن این فصل به شما کمک میکند فراتر از کپی کردن کدها، خودتان خلاق باشید و هر برنامهای را شخصاً بسازید.
۳.۱ | متغیر چیست و چطور تعریف میشود؟
*متغیر (Variable)* به زبان ساده، جعبهای است که مقادیر مختلف (عدد، متن، نتیجه محاسبات و…) را در خود نگه میدارد تا هر وقت خواستید از آن استفاده کنید.
دستور تعریف متغیر در پایتون:
در پایتون کافی است یک نام مناسب انتخاب و مقدار موردنظر را به آن اختصاص دهید:
x = 5 # عدد صحیح (int)
name = "Ali" # رشته (متنی – str)
pi = 3.14 # عدد اعشاری (float)
پایتون نوع داده را طبق مقدار خودش بهصورت خودکار تشخیص میدهد.
قوانین نامگذاری متغیرها در پایتون (Python Variable Naming Rules):
- تنها میتوان از حروف (a-z، A-Z)، اعداد (0-9) و خط زیرین (_) استفاده کرد.
- نام متغیر نباید با عدد شروع شود.
- حساس به بزرگی و کوچکی حروف است (x با X متفاوت است).
- نباید از کلمات رزرو شده زبان (مثلاً if، for، class، def و …) به عنوان نام متغیر استفاده کنید.
مثالهای مجاز و غیرمجاز:
user1 = "Sara" # مجاز
_user_age = 25 # مجاز
1stname = "Ali" # غیرمجاز! با عدد شروع شده
User = "Mehrdad" # مجاز - User با user فرق دارد
نکته سئو:
کلماتی مانند “تعریف متغیر در پایتون”، “نامگذاری متغیرها” به صورت طبیعی در این بخش استفاده شدهاند تا این مقاله برای جستوجوها بهینه شود.
۳.۲ | نوع دادهها در پایتون
در برنامهنویسی، مفهوم نوع داده (Data Type) اهمیت زیادی دارد، چرا که نحوه ذخیرهسازی و محاسبات داده بر این اساس انجام میشود.
پایتون دارای انواع متنوعی از دادههاست، اما چهار نوع پایهای و پرکاربرد عبارتند از:
پرکاربردترین نوع دادههای پایتون:
- int — عدد صحیح (مانند: 10، -47)
- float — عدد اعشاری (مانند: 3.14، -0.01)
- str — رشته متنی (مانند: “Ali”، “Python 3”)
- bool — مقدار صحیح/غلط (True یا False)
مثال:
a = 10 # int
b = 3.5 # float
text = "سلام" # str
flag = True # bool
فهمیدن نوع داده با تابع type()
با تابع داخلی type() میتوانید نوع متغیر را مشاهده کنید:
print(type(b)) # <class 'float'>
print(type(flag)) # <class 'bool'>
نکات ظریف انواع داده:
- نوع داده bool فقط دو مقدار True یا False را میپذیرد و همواره با حرف بزرگ آغاز میشود.
- رشتهها در داخل “…” یا ‘…’ قرار میگیرند.
- در نوع str و float و int میتوانید فارسی هم استفاده کنید؛ مثلاً
name = "حسین"
انواع داده پیشرفته (پیشنمایش برای فصول آینده)
- list: لیست
- tuple: مجموعه غیرقابل تغییر
- dict: دیکشنری (نگاشت کلید به مقدار)
- set: مجموعه غیر تکراری
۳.۳ | تبدیل نوع داده (Casting) در پایتون
گاهی نیاز دارید نوع یک مقدار را تغییر دهید (مثلاً یک عدد اعشاری را به عدد صحیح یا یک عدد را به رشته تبدیل کنید).
روشهای متداول Casting:
score = str(12) # تبدیل عدد صحیح به رشته: "12"
count = int("7") # تبدیل رشته "7" به عدد صحیح: 7
pi = float("4") # تبدیل رشته "4" به عدد اعشاری: 4.0
هشدار:
- اگر رشتهای حاوی کاراکتر غیرعددی باشد، تبدیل با خطا مواجه میشود.
python num = int("Ali") # خطا: ValueError - همیشه محتوای رشته را پیش از تبدیل بررسی کنید.
تبدیل str به int برای محاسبات:
age = input("سن؟ ") # سن کاربر را میگیرد (مثلاً "25")
age = int(age) # تبدیل به int
print(age + 5)
۳.۴ | گرفتن ورودی از کاربر و نکات مربوط به آن
برای دریافت مقادیری که کاربر باید وارد کند (مثلاً نام و سن)، از input() استفاده می شود:
سادهترین شکل:
name = input("اسمت چیه؟ ")
print("سلام,", name)
نکته مهم:
هر ورودی که از input() دریافت میکنید همیشه از نوع رشته (str) است.
اگر به عدد نیاز دارید، باید casting کنید:
age = int(input("سن شما؟ "))
print("سال بعد، سن شما میشه", age + 1)
اگر مقدار وارد شده عدد نباشد (مثلاً “Ali”)، برنامه با خطا متوقف میشود.
میتوانید برای جلوگیری از خطا، صحت عدد بودن ورودی را با کدنویسی بیشتر بررسی کنید (در فصلهای بعدی توضیح داده میشود).
۳.۵ | سوالات پرتکرار و مشکلات رایج متغیرها و دادهها
۱. اگر متغیری را تعریف کنم اما از آن استفاده نکنم، چه میشود؟
خطایی ایجاد نمیشود اما بهتر است فقط متغیرهای مورد نیاز را تعریف کنید.
۲. چرا پایتون نوع داده متغیرها را خودکار شناسایی میکند؟
پایتون زبان داینامیک است و نوع متغیر هنگام اجرا تعیین میشود.
۳. اگر عدد اعشاری مانند ۲۲/۷ را به int تبدیل کنم چه خواهد شد؟
قیمت اعشاری (مثلاً 3.14) به عدد صحیح، فقط قسمت صحیح باقی میماند (3).
۴. چگونه متوجه شوم خروجی type() چیست؟
نتیجه تابع type همیشه اطلاعاتی مثل <class 'int'> میدهد که نوع داده را مشخص میکند.
۳.۶ | تمرین: پروژه کوچک تشخیص سن
شرح تمرین:
برنامهای بنویسید که نام و سن کاربر را گرفته و بسته به سن، پیام مناسبی چاپ کند:
- اگر سن کاربر بزرگتر از ۱۸ باشد: “شما بزرگسال هستید.”
- در غیر این صورت: “شما نوجوان هستید.”
نمونه کد پیشنهادی:
name = input("نام خود را وارد کنید: ")
age = int(input("سن خود را وارد کنید: "))
if age > 18:
print("شما بزرگسال هستید.")
else:
print("شما نوجوان هستید.")
(برای نمایش بهتر میتوانید نام کاربر را هم در پیام چاپ کنید)
if age > 18:
print(name, "بزرگسال هستید.")
else:
print(name, "نوجوان هستید.")
تمرین تکمیلی:
- اگر عدد واردشده منفی یا غیرمنطقی بود (مثلاً -5 یا 200)، پیام “سن معتبر نیست” چاپ کنید.
- پیامی شخصیسازیشده بر اساس نام کاربر نمایش دهید.
۳.۷ | نکات حرفهای و توصیههای مهم
- سبک نامگذاری متغیرها:
از نامهای گویا و معنادار مثلuser_name,score,is_activeاستفاده کنید. - استفاده از تابع type() برای رفع ابهام و جلوگیری از خطا بسیار سودمند است.
- ورودی عددی کاربر را همیشه Casting کنید (input را به int یا float تبدیل کنید).
- کامنتگذاری کنار خطوط مهم کد، فهم کد را برای خودتان و دیگران سادهتر میکند.
- مدیریت خطا برای تبدیل ورودی کاربر (مثلاً با try/except یا شرطهای ساده) پروژه شما را حرفهای جلوه میدهد.
جمعبندی
در این فصل به طور کامل با متغیرها، انواع دادهها و روشهای گرفتن ورودی از کاربر در پایتون آشنا شدید. همچنین اهمیت تبدیل نوع داده و بهترین شیوههای استفاده از متغیرها را آموختید.