ডাটাটাইপ কনভার্সন বলতে ভ্যারিয়েবল কে এক টাইপ থেকে অন্য টাইপ এ কনভার্ট করা বুঝায়। একে টাইপ কাস্টিং ও বলা হয়ে থাকে। পাইথনে টাইপ কাস্টিং এর জন্যে কিছু বিল্টইন ফাংশন বানানো আছে। আমরা চাইলে সহজেই সেগুলো ব্যবহার করতে পারি। এখন পর্যন্ত আমরা integers, floats, এবং strings ডাটাটাইপ সম্পর্কে জেনেছি। এই টাইপে কনভার্ট করার জন্য ফাংশন গুলো যথাক্রমে হচ্ছে - int()
, float
, str()
.
ইন্টেজার এ কনভার্সন
স্ট্রিং অথবা ফ্লোট থেকে ইন্টেজার এ কনভার্ট করার জন্য int()
ফাংশন ব্যাবহার করা হয়।
# String to Integer Conversion
>>> int("123")
123
# float to Integer Conversion
>>> int(12.3)
12
বিঃ দ্রঃ স্ট্রিং থেকে ইন্টেজার এ কনভার্ট এর সময় খেয়াল রাখতে হবে স্ট্রিং এ যাতে কোনো নননিউমেরিক ক্যারেকটার না থাকে।
>>> int("123a")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '123a'
ফ্লোট এ কনভার্সন
স্ট্রিং অথবা ইন্টেজার থেকে ফ্লোট এ কনভার্ট করার জন্য float()
ফাংশন ব্যাবহার করা হয়।
# String to float Conversion
>>> float("123.456")
123.456
# Integer to float Conversion
>>> float(123)
123.0
বিঃ দ্রঃ এক্ষেত্রেও স্ট্রিং থেকে ফ্লোট এ কনভার্ট এর সময় খেয়াল রাখতে হবে স্ট্রিং এ যাতে কোনো নননিউমেরিক ক্যারেকটার না থাকে এবং একাধিক দশমিক পয়েন্ট না থাকে।
এবার একটু ভাবুনতো স্ট্রিং এর ভেতর যদি দশমিকযুক্ত সংখ্যা থাকে এবং তা ইন্টেজার এ কনভার্ট করার প্রয়োজন হয় তাহলে কি int()
ফাংশন ব্যাবহার করলেই হবে ? উত্তর হবে না । সেক্ষেত্রে স্ট্রিং কে প্রথমে ফ্লোট এ এবং ফ্লোটকে ইন্টেজার এ কনভার্ট করতে হবে।
>>> float("123.456")
123.456
>>> int(123.456)
123
>>> int("123.456")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '123.456'
স্ট্রিং এ কনভার্সন
যে কোন ভ্যারিয়েবল স্ট্রিং -এ কনভার্ট করার জন্য কোনো প্রকার বিধিনিষেধ ছাড়াই str()
ফাংশন ব্যবহার করবো।
>>> str(123)
'123'
আমরা যখন print()
ফাংশন এর ভেতর একাধিক ভ্যারিয়েবল লিখি তখন স্ট্রিং কনভার্সন ব্যবহার করতে হয়।
>>> print("Float = " + str(10.5) + " Integer = " + str(50))
Float = 10.5 Integer = 50