offSchoolবেটা

তথ্য ও যোগাযোগ প্রযুক্তি · অধ্যায় ৬ · টপিক ৪

ডেটাটাইপ ও টাইপ কাস্টিং

  • int, float, str ও bool
  • টাইপ কাস্টিং

পড়ার নোট

কম্পিউটারকে পূর্ণসংখ্যা, ভগ্নাংশযুক্ত সংখ্যা, লেখা, সত্য-মিথ্যা ইত্যাদি নানা ধরনের তথ্য নিয়ে কাজ করতে হয়। ডেটাটাইপ বলে দেয় একটি তথ্য মেমোরিতে কতটা জায়গা নেবে এবং প্রসেসর তা কীভাবে প্রক্রিয়া করবে।

প্রধান ডেটাটাইপ

  • int: পূর্ণসংখ্যা (integer)। যেমন roll = 5।
  • float: ভগ্নাংশযুক্ত সংখ্যা (floating number)। যেমন height = 5.5।
  • str: লেখা বা অক্ষর (string)। উদ্ধৃতি চিহ্নের ভেতরে লিখতে হয়। যেমন name = "Rahim"।
  • bool: বুলিয়ান, শুধু True বা False। যেমন passed = True।

কোনো ভ্যারিয়েবলের ডেটাটাইপ জানতে type() ফাংশন ব্যবহার করা হয়।

roll = 5
height = 5.5
name = "Rahim"
passed = True
print(type(roll))
print(type(height))
print(type(name))
print(type(passed))

আউটপুট:

<class 'int'>
<class 'float'>
<class 'str'>
<class 'bool'>

টাইপ কাস্টিং

কখনো ভ্যারিয়েবলের ডেটাটাইপ বদলাতে বা নির্দিষ্ট করতে হয়। একে টাইপ কাস্টিং বলে। তিনটি গুরুত্বপূর্ণ ফাংশন:

  • int() ভগ্নাংশ বা স্ট্রিং থেকে পূর্ণসংখ্যা বানায় (ভগ্নাংশ থাকলে দশমিকের পরের অংশ বাদ যায়)।
  • float() পূর্ণসংখ্যা বা স্ট্রিং থেকে ভগ্নাংশযুক্ত সংখ্যা বানায়।
  • str() অন্য ডেটাটাইপ থেকে স্ট্রিং বানায়।
print(int(2.8))
print(int("3"))
print(float(1))
print(float("3"))
print(str(3.0))
x = "50"
print(int(x) + 10)

আউটপুট:

2
3
1.0
3.0
3.0
60

লক্ষ করো, int(2.8) এর ফল 2, ২.৮ নয় এবং গোলও হয়নি; দশমিকের পরের অংশ বাদ গেছে।

মনে রাখো: চার প্রধান ডেটাটাইপ int, float, str ও bool; ডেটাটাইপ বদলাতে int(), float(), str() ব্যবহার করা হয়।

২০২৬ সালের NCTB পাঠ্যবই অনুসরণ করে লেখা।

চালিয়ে দেখো

অনুশীলনের প্রশ্ন

  1. নিচের কোডটি চালালে আউটপুট কী হবে?

    a = int(9.7)
    b = float(3)
    print(a + b)
    
    1. ক

      ১২

    2. খ

      ১৩.০

    3. গ

      ১২.৭

    4. ঘ

      ১২.০

    উত্তর ও ব্যাখ্যা
    সঠিক উত্তর:

    ঘ) ১২.০

    1. int(9.7) দশমিক অংশ কেটে ফেলে, গোল করে না, তাই a = 9। float(3) দেয় 3.0।
    2. 9 + 3.0 একটি float, তাই আউটপুট 12.0। (python৩-এ চালিয়ে পাওয়া গেছে: 12.0)।
  2. রাফি পাইথনে ব্যবহারকারীর বয়স নেওয়ার জন্য age = input() স্টেটমেন্টটি লিখল। ব্যবহারকারী কিবোর্ড থেকে ১৫ লিখে এন্টার চাপলে age চলকটির ডেটাটাইপ কী হবে?

    1. ক

      int

    2. খ

      str

    3. গ

      float

    4. ঘ

      bool

    উত্তর ও ব্যাখ্যা
    সঠিক উত্তর:

    খ) str

    1. পাইথনে input() ফাংশন ব্যবহারকারীর কাছ থেকে যেকোনো ইনপুটকে সর্বদা স্ট্রিং বা str ডেটাটাইপ হিসেবে গ্রহণ করে।
    2. ইনপুট হিসেবে সংখ্যা ১৫ দেওয়া হলেও তা স্ট্রিং '15' হিসেবে থাকে; এটিকে পূর্ণসংখ্যায় রূপান্তর করতে স্পষ্ট টাইপ কাস্টিং int() প্রয়োজন।
  3. নিচের কোডে ইনপুট হিসেবে ৫ ও ৩ দিলে আউটপুট 8 না এসে 53 আসে কেন? কোডটি কীভাবে ঠিক করবে?

    a = input()
    b = input()
    print(a + b)
    
    উত্তর ও ব্যাখ্যা
    সঠিক উত্তর:

    input() ফাংশন সংখ্যা দিলেও সবসময় তা str (টেক্সট) হিসেবে গ্রহণ করে। তাই a = "5" ও b = "3" হয় এবং str-এর ক্ষেত্রে + দুটিকে জোড়া লাগায়, ফলে 53 আসে। a = int(input()) ও b = int(input()) লিখলে সংখ্যা দুটি int হয় এবং আউটপুট 8 আসে।

    1. python৩-এ ৫ ও ৩ ইনপুট দিয়ে চালানোয় প্রথম কোডে 53 এসেছে, আর int(a) + int(b) দিয়ে 8 এসেছে।
    2. সমাধান: টাইপ কাস্টিং ব্যবহার করে int(input()) লিখতে হবে।

এই টপিক নিয়ে প্রশ্ন আছে?

মেন্টরকে বাংলায় বা ইংরেজিতে জিজ্ঞেস করো, বা খাতার ছবি দাও। সিমুলেশন চালিয়ে বুঝিয়ে দেবে।

মেন্টরকে জিজ্ঞেস করো