স্ট্রিং ডাটা টাইপ

আসসালামু আলাইকুম!! আমি শাহরিয়ার আহমেদ শোভন। আজকের পর্বে নিয়ে এসেছি স্ট্রিং ডাটা টাইপ নিয়ে আলোচনা

>>> print("There is a proverb, "No gain, No pain"....")
SyntaxError: invalid syntax

এসব কি???  আমি প্রিন্ট করতে চাইলাম There is a proverb, “No gain, No pain”…. আর কিসব প্রিন্ট হইল??

হ্যা। এখানে একটা ভুল আছে আর এটা হল সিন্ট্যাক্স ইরোর। এখানে আমরা “ দিয়েছি প্রথমে একবার তারপর কিছু লিখেছি এবং তারপর আবার “ দিয়েছি।

এখন, পাইথন যেহেতু দুইটা “ পেয়ে গেছে সুতরাং এখনানেই স্ট্রিং শেষ। কিন্তু, আমি তো চাই “No gain, No pain” প্রিন্ট করতে।

তাই, আবার একটা দিয়েছি এবং কিছু লেখার পরে আবার দিয়েছি। এবারে পাইথন কনফিউশন হয়ে ইরোর দিয়ে দিছে। এখন উপায়??

তাইতো পাইথনে আছে  ‘’  এবং  “”  দুইতা পদ্ধতি। এখন যদি লেখার ভেতর আমরা  “”  ব্যবহার করতে চাই তাহলে একদম স্ট্রিং এর শুরুতে এবং শেষে ‘’  দিব।


>>> print('There is a proverb, "No gain, No pain"....')

There is a proverb, "No gain, No pain"....

আর ভেতরে যদি ‘’ ব্যবহার করতে চাই তাহলে বাইরে “” ব্যবহার করতে হবে।


>>> print("There is a proverb, 'No gain, No pain'.... ")
There is a proverb, 'No gain, No pain'....

কিন্তু, এখন যদি আমরা ভেতরে ‘’ এবং “” দুইটাই ব্যবহার করতে চাই তাহলে?? তখন আমরা লেখার আগে \ দিয়ে দিতে হয়। অর্থাৎ এরকম \” বা \’ দিতে হয়।


>>> print("There is a proverb, \"No gain, No pain\"....")
There is a proverb, "No gain, No pain"....

পাইথনে দুইটা স্ট্রিং যোগ করতে গেলে + ব্যবহার করলেই হয়। যেমনঃ-


>>> text1 = "Hello, I am"
>>> text2 = " Shahriar Ahmed"
>>> print(text1 + text2)
Hello, I am Shahriar Ahmed

এখন মনে করুন আপনি Hello, I am লেখার শুধু o প্রিন্ট করবেন। তাহলে কি করা যায়??

কিছুই না শুধু একটা কাজ করতে হবে যে ভ্যারিয়েবল এর লেখার অংশ প্রিন্ট করবেন সেই ভ্যারিয়েবল লিখে [ ] দিয়ে তার মধ্যে লেটার টির ইনডেক্স বা অবস্থান দিয়ে দেবেন।

তবে, মনে রাখবেন ইনডেক্স কিন্তু 1,2,3,4 এভাবে গুনলে হবে না 0,1,2,3,4 এভাবে গুন্তে হবে।

উদাহরণ টা দেখা যাকঃ—


>>> text1 = "Hello, I am"
>>> print(text1[0])
'H'
>>> print(text1[4])
'0'

বোঝা গেল কিছু?? এখানে text1[0] এর মানে হল text1 ভ্যারিয়েবল এর তম অবস্থানের স্ট্রিং।

যেহেতু তম স্ট্রিং হল H , তাই H প্রিন্ট হয়েছে। পরেরটা কি হল সেটা নিশ্চয় বোঝা গেল।

আচ্ছা এখন যদি চাই llo প্রিন্ট করব, তাহলে উপায়??

হুম, তার উপায়ও অনেক সহজ।

তার জন্য একটা উদাহরণ দেখে নেই


>>> text1 = "Hello, I am"
>>> print(text1[2:5]
'llo'

এখানে আমরা text1[যেখান থেকে স্ট্রিং শুরু হবে : যেখানে গিয়ে শেষ হবে ]

মানে, প্রথমে 2 মানে হল স্ট্রিং ২য় ইনডেক্স থেকে প্রিন্ট শুরু হবে। এখানে তো ২য় ইনডেক্স হল l তাই l থেকে প্রিন্ট হয়েছে।

এবং শেষ হবে ৫ম ইনডেক্স এ।

তবে, ৫ম ইনডেক্স এ শেষ হবে বলে কিন্তু ৫ম ইনডেক্সের স্ট্রিং প্রিন্ট হবে না তার আগেরটা পর্যন্ত প্রিন্ট হবে।

আরেকটা জিনিস দেখা দরকার। দেখা যাক


>>> letter = "abcdefgh"
>>> letter[0:5:2]
'ace'
>>> letter[0::2]
'aceg'

এখানে একটু পোস্টমার্টাম দরকার।

২য় লাইনে বলা হয়েছে letter ভ্যারিয়েবলের 0 ইনডেক্স হতে 5 ইনডেক্স অবধি প্রিন্ট হবে কিন্তু তাদের মাঝে ১ টা ইনডেক্স করে বাদ যাবে।

অর্থাৎ letter[0:5:2] মানে হল 0, 2, 4 তম ইনডেক্স।

এখানে একটা ইনডেক্স করে বাদ গেলেও লিখতে হচ্ছে । কারণ, সবসময় ওখানে যে কয়টা বাদ দেব তার থেকে এক বেশি লিখতে হবে।

কেন??   তা একদিন পরে বলব।

আচ্ছা এটা বুঝলাম, কিন্তু ওই letter[0::2] এর মানে কী???

এখানেও একি কাজ, ০ থেকে প্রিন্ট হবে এবং শেষ এর জন্য কোন ইনডেক্স যেহেতু দেয়া নাই তার মানে একদম শেষ অবধি প্রিন্ট হবে তবে একটা করে ইনডেক্স বাদ দিয়ে।


আচ্ছা, আরো একটা কথা যদি আমরা চাই একদম লাস্ট ইনডেক্সের স্ট্রিং প্রিন্ট করব তখন??

আমরা তো আর জানছি না কোনটা একদম শেষ ইনডেক্স কারণ, তার জন্য কয়টা লেটার আছে জানতে হবে।

আচ্ছা, একটা সুবিধার পথ দেখে নেয়া যাক।


>>> letter = "abcdefgh"
>>> print(letter[-1])
'h'
>>> print(letter[-4])
'e'

এখানে -1 মানে হল শেষ লেটার। আর -4 মানে হল লাস্ট থেকে চতুর্থ ইনডেক্স। বুঝা গেছে মনে হয়।


আজকে এখানেই শেষ হল ১ম খন্ড। সামনেই আসছে ৩য় পর্বের ২য় খন্ড। সেই পর্যন্ত ভালো থাকুন সুস্থ থাকুন।



কোন প্রশ্ন বা গালি দেয়ার জন্য কমেন্ট বক্স উন্মক্ত। আর প্রাইভেটলি গালি দিতে চাইলে জানান ফেসবুকে। আর, যদি কমেন্ট এর রিপ্লে পেতে দেরি হয় তাহলে ফেসবুকে মেসেজ দিন । ধন্যবাদ!! আল্লাহ হাফেজ।

2 thoughts on "পাইথন প্রোগ্রামিং – স্ট্রিং ডাটা টাইপ – পর্ব ০৩ – ১ম খন্ড"

  1. SOYEB Soyeb Khan Author says:
    কোড গুলো <pre> ট্যাগের মধ্যে দিলে ভালো হয়।


    1. Shahriar Ahmed Shovon Shahriar Ahmed Shovon Author Post Creator says:
      ভাইয়া, কোড গুলো তো preformated style এই দেয়া।

Leave a Reply