تو درس قبل فهمیدیم که پایتون چهار تا نوع دادهی اصلی داره:
int، float، string و bool
حالا یه وقتایی وسط برنامهنویسی پیش میاد که مجبوریم نوع یه مقدار رو عوض کنیم؛
مثلاً یه متن رو تبدیل کنیم به عدد یا برعکس.
به این کار توی پایتون میگن تبدیل نوع داده یا همون Type Casting.
اصلاً تبدیل نوع داده یعنی چی؟
فرض کن یه مقدار داریم مثل "25"
این "25" از نظر پایتون متنه (string)، نه عدد.
حالا اگه بخوایم باهاش محاسبهی عددی انجام بدیم، پایتون خودش حدس نمیزنه که منظورمون عدده!
پس باید دست به کار بشیم و نوعش رو تبدیل کنیم 👇
age_str = "25" # نوع رشته (string)
age_int = int(age_str) # تبدیل به عدد صحیح
print(age_int) # 25
print(type(age_int))
خروجی:
25
توابع اصلی تبدیل نوع داده
پایتون چند تابع آماده داره که با اونها میشه نوع دادهها رو تغییر داد:
| تابع | توضیح | مثال |
|---|---|---|
int() |
تبدیل به عدد صحیح (integer) | int("12") → 12 |
float() |
تبدیل به عدد اعشاری (float) | float("3.14") → 3.14 |
str() |
تبدیل به رشته (string) | str(25) → "25" |
bool() |
تبدیل به مقدار منطقی (True / False) | bool(5) → True |
1. تبدیل عدد به رشته
number = 123
text = str(number)
print(text)
print(type(text))
خروجی:
123
2. تبدیل رشته به عدد صحیح یا اعشاری
اگر مقدار داخل رشته عددی باشد، میتوان آن را به عدد تبدیل کرد:
x = "45"
x_int = int(x)
x_float = float(x)
print(x_int) # 45
print(x_float) # 45.0
❌ اما اگر رشته شامل حروف باشد، پایتون ارور میدهد:
int("abc") # Error
3. تبدیل مقدار منطقی (bool)
توی پایتون برای تبدیل مقدارها به bool یه قانون خیلی راحت وجود داره:
- عدد 0، عدد اعشاری 0.0، رشتهٔ خالی “” و خود مقدار False → همیشه تبدیل میشن به False
- هر چیزِ دیگهای → تبدیل میشه به True
یعنی پایتون میگه:
«اگه چیزی خالی، صفر یا False بود → منم False برمیگردونم.
اگه هر مقدار دیگهای بود → True حسابش میکنم.»
مثال:
print(bool(0)) # False
print(bool(10)) # True
print(bool("")) # False
print(bool("Python")) # True
🧩 ترکیب تبدیلها
گاهی میتوان چند تبدیل را پشت سر هم انجام داد:
x = "12.5"
y = float(x) # تبدیل رشته به عدد اعشاری
z = int(y) # سپس به عدد صحیح
print(z) # 12
✅ جمعبندی
- تبدیل نوع داده یعنی اینکه نوع یک مقدار رو به نوع دیگه تغییر بدیم
- برای این کار توی پایتون از توابع
int()،float()،str()وbool()استفاده میکنیم - حواست باشه همیشه مقداری رو تبدیل کنی که قابل تبدیل باشهمثلاً
"123"به عدد تبدیل میشه، ولی"abc"نه ❌
🔍 تمرین
برنامهای بنویس که:
- مقدار
"100"را در متغیری رشتهای ذخیره کند - آن را به عدد صحیح تبدیل کند
- سپس به رشته برگرداند
- و در هر مرحله نوع داده را با
type()چاپ کند
نتیجه باید چیزی شبیه این باشد: