Python Casting

در Python، Casting یعنی تبدیل نوع داده (Type Conversion) از یک نوع به نوع دیگر.
پایتون گاهی به‌صورت خودکار نوع داده را تغییر می‌دهد (Implicit)، اما بیشتر اوقات ما خودمان به‌صورت Explicit این کار را انجام می‌دهیم.

🔹 1️⃣ نوع‌های اصلی قابل تبدیل

  • int → اعداد صحیح

  • float → اعداد اعشاری

  • str → رشته‌ها (متن)

  • complex → اعداد مختلط

🔹 2️⃣ تبدیل به عدد صحیح (()int)

x = int(3.7) # 3 (قسمت اعشاری حذف می‌شود) y = int("15") # 15 (رشته عددی → int) print(x, y)

📌 توجه:

  • فقط رشته‌هایی که واقعاً عددی باشند تبدیل می‌شوند.

  • اگر رشته شامل حروف باشد → خطا می‌دهد.

🔹 3️⃣ تبدیل به اعشاری (()float)

a = float(5) # 5.0 b = float("3.14") # 3.14 print(a, b)

🔹 4️⃣ تبدیل به رشته (()str)

num = 42 text = str(num) # "42" print(text, type(text))

🔹 5️⃣ تبدیل به مختلط (()complex)

c1 = complex(5) # (5+0j) c2 = complex(2, 3) # (2+3j) print(c1, c2)

🔹 6️⃣ مثال ترکیبی

x = 10 y = 3.5 print(str(x + y)) # "13.5" → تبدیل نتیجه به رشته

🔹 7️⃣ تبدیل خودکار (Implicit Casting)

پایتون در محاسبات عددی بعضی وقت‌ها خودش نوع را تغییر می‌دهد:

x = 5 # int y = 2.0 # float z = x + y # نتیجه به صورت float print(z, type(z))

📌 خروجی:

7.0 <class 'float'>

چون یکی از عملوندها float است، پایتون نتیجه را به float ارتقا می‌دهد.

✅ نکات مهم

  • رشته‌های غیرعددی (مثل "abc") قابل تبدیل به عدد نیستند و خطا می‌دهند.

  • تبدیل از float به int باعث حذف اعشار می‌شود، گرد نمی‌کند.

  • برای تبدیل دقیق‌تر (مثلاً گرد کردن) می‌توان از ()round استفاده کرد.


💡 خلاصه:
در Python با توابع int(), float(), str(), complex() می‌توان نوع داده را دستی تغییر داد.
پایتون همچنین در عملیات عددی، اگر لازم باشد، به‌طور خودکار نوع داده را ارتقا می‌دهد تا نتیجه دقیق‌تری ارائه شود.