পাইথনে একটি স্ট্যান্ডার্ড লাইব্রেরি রয়েছে, যাকে string বলা হয়। string মডিউলে বিভিন্ন স্ট্রিং-সম্পর্কিত কনস্ট্যান্ট, মেথড এবং ক্লাস উপলব্ধ রয়েছে।
এই মডিউলগুলো ব্যবহার করতে হলে আমাদের কোডে string মডিউল ইম্পোর্ট করতে হবে।
import string
কিছু স্ট্রিং কনস্ট্যান্ট এবং তাদের মান নিচে দেওয়া হলো:
| ক্রমিক নং | স্ট্রিং কনস্ট্যান্ট এবং মান |
|---|---|
| 1 | string.ascii_lowercase ‘abcdefghijklmnopqrstuvwxyz’ |
| 2 | string.ascii_uppercase ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’ |
| 3 | string.ascii_letters ascii_lowercase এবং ascii_uppercase এর সংযোজন ‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ’ |
| 4 | string.digits ‘0123456789’ |
| 5 | string.hexdigits ‘0123456789abcdefABCDEF’ |
| 6 | string.octdigits ‘01234567’ |
| 7 | string.punctuation ‘!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~’ |
| 8 | string.printable সকল প্রিন্টযোগ্য ASCII ক্যারেক্টার। এটি ascii_letters, punctuation, digits এবং whitespace-এর সমষ্টি।‘0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c’ |
| 9 | string.whitespace ‘\t\n\r\x0b\x0c’ |
উদাহরণ কোড
import string print(string.hexdigits) print(string.ascii_uppercase) print(string.printable)
আউটপুট
0123456789abcdefABCDEF ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~স্ট্রিং ফরম্যাটিং
পাইথনের বিল্ট-ইন স্ট্রিং ক্লাস format() মেথড ব্যবহার করে জটিল ভেরিয়েবল সাবস্টিটিউশন এবং মান ফরম্যাটিং সাপোর্ট করে।
স্ট্রিং ফরম্যাট করার বেসিক সিনট্যাক্স হলো:
‘{} {}’.format(a, b)a এবং b-এর মান সেখানে বসবে যেগুলো ‘{}’ দিয়ে ঘেরাওয়া আছে। আমরা ব্রেসেসের ভেতরে পজিশনাল প্যারামিটারও দিতে পারি। অথবা ভেরিয়েবল নাম লিখলেও চলে।
এই ফরম্যাটিং অপশন ব্যবহার করে আমরা আমাদের টেক্সটে প্যাডিংও সেট করতে পারি। টেক্সটে প্যাডিং যোগ করার সিনট্যাক্স হলো:
‘{: (character) > (width)}’.format(‘string’)‘string’ নির্দিষ্ট character দিয়ে, width মান পর্যন্ত ডানে প্যাড হবে > চিহ্ন ব্যবহার করে। বামে প্যাড করার জন্য < এবং মাঝপথে রাখতে ^ ব্যবহার করা যায়।
format() মেথড দিয়ে স্ট্রিং কাটাকাটি (truncate)ও করা যায় নির্দিষ্ট দৈর্ঘ্যের মাধ্যমে। সিনট্যাক্স হলো:
‘{:.length}’.format(‘string’) স্ট্রিংটি দেওয়া length পর্যন্ত কাটা হবে।
উদাহরণ কোড
print('The Name is {} and Roll {}'.format('Jhon', 40)) print('The values are {2}, {1}, {3}, {0}'.format(50, 70, 30, 15)) # পজিশনাল প্যারামিটার ব্যবহার print('Value 1: {val1}, value 2: {val2}'.format(val2 = 20, val1=10)) # ভেরিয়েবল নাম ব্যবহার # স্ট্রিং প্যাডিং print('{: >{width}}'.format('Hello', width=20)) print('{:_^{width}}'.format('Hello', width=20)) # মাঝপথে রাখা এবং '_' ক্যারেক্টারের সাথে প্যাড # দিয়ে দৈর্ঘ্যে স্ট্রিং কাটা print('{:.5}'.format('Python Programming')) # শুধু প্রথম ৫টি ক্যারেক্টার নেওয়াআউটপুট
The Name is Jhon and Roll 40 The values are 30, 70, 15, 50 Value 1: 10, value 2: 20 Hello _______Hello________ Pytho
স্ট্রিং টেমপ্লেট
টেমপ্লেট স্ট্রিং ব্যবহার করে স্ট্রিং সাবস্টিটিউশন সহজে করা যায়। টেমপ্লেট $ ক্যারেক্টার ব্যবহার করে সাবস্টিটিউশন সাপোর্ট করে। যখন $identifier পাওয়া যায়, তখন সেটাকে নতুন মান দিয়ে রিপ্লেস করা হয়।
স্ট্রিং-এ টেমপ্লেট ব্যবহার করার বেসিক সিনট্যাক্স:
myStr = string.Template(“$a will be replaced”) myStr.substitute(a = ‘XYZ’)
স্ট্রিং-এ a-এর মান ‘XYZ’ দিয়ে রিপ্লেস হবে। ডিকশনারি ব্যবহার করে এই ধরনের অপারেশন করা যায়।
উদাহরণ কোড
my_template = string.Template("The value of A is $X and Value of B is $Y") my_str = my_template.substitute(X = 'Python', Y='Programming') print(my_str) my_dict = {'key1' : 144, 'key2' : 169} my_template2 = string.Template("The first one $key1 and second one $key2") my_str2 = my_template2.substitute(my_dict) print(my_str2)আউটপুট
The value of A is Python and Value of B is Programming The first one 144 and second one 169