পাইথনের স্ট্রিং ফর্ম্যাট করার কমপক্ষে ছয়টি উপায় রয়েছে:
In [1]: world = "Earth"
# method 1a
In [2]: "Hello, %s" % world
Out[2]: 'Hello, Earth'
# method 1b
In [3]: "Hello, %(planet)s" % {"planet": world}
Out[3]: 'Hello, Earth'
# method 2a
In [4]: "Hello, {0}".format(world)
Out[4]: 'Hello, Earth'
# method 2b
In [5]: "Hello, {planet}".format(planet=world)
Out[5]: 'Hello, Earth'
# method 2c
In [6]: f"Hello, {world}"
Out[6]: 'Hello, Earth'
In [7]: from string import Template
# method 3
In [8]: Template("Hello, $planet").substitute(planet=world)
Out[8]: 'Hello, Earth'
বিভিন্ন পদ্ধতির সংক্ষিপ্ত ইতিহাস:
printf
স্টাইল ফর্ম্যাটিংটি পাইথন শৈশবকাল থেকেই ছিলTemplate
বর্গ পাইথন 2.4 চালু হয়format
পাইথন ২.6 এ পদ্ধতিটি চালু হয়েছিলf
-স্ট্রিংগুলি পাইথন ৩.6-এ প্রবর্তিত হয়েছিল
আমার প্রশ্নগুলি হ'ল:
- হয়
printf
-style ফর্ম্যাটিং অবচিত বা অননুমোদিত হতে যাচ্ছে? - -এ
Template class
,substitute
পদ্ধতিটি হ্রাস করা হচ্ছে বা হ্রাস করা হবে? (আমি কথা বলছি নাsafe_substitute
, যা আমি বুঝতে পেরেছি এটি অনন্য ক্ষমতা দেয়)
অনুরূপ প্রশ্ন এবং কেন আমি মনে করি সেগুলি সদৃশ নয়:
পাইথন স্ট্রিং ফর্ম্যাটিং:% বনাম। ফর্ম্যাট - শুধুমাত্র 1 এবং 2 পদ্ধতি ব্যবহার করে এবং কোনটি আরও ভাল তা জিজ্ঞাসা করে; আমার প্রশ্নটি পাইথনের জেনের আলোতে অবমূল্যায়ন সম্পর্কে স্পষ্টভাবে is
স্ট্রিং বিন্যাসের বিকল্পগুলি: উপকারিতা এবং পক্ষে - প্রশ্নটিতে 1a এবং 1b পদ্ধতিতে, উত্তরে 1 এবং 2, এবং অবচয় সম্পর্কে কিছুই নয়
উন্নত স্ট্রিং বিন্যাস বনাম টেমপ্লেট স্ট্রিং - প্রায়শই 1 এবং 3 পদ্ধতি সম্পর্কে এবং অবক্ষয়কে সম্বোধন করে না
স্ট্রিং ফর্ম্যাটিং এক্সপ্রেশন (পাইথন) - উত্তরে উল্লেখ করা হয়েছে যে মূল '%' পদ্ধতির অবমূল্যায়নের পরিকল্পনা করা হয়েছে । তবে অবহেলা করা , মুলতুবি অবমানন এবং প্রকৃত অবমূল্যায়নের মধ্যে পার্থক্য কী ? এবং
printf
স্টাইল পদ্ধতিটি এমনকি একটি বাড়ায় নাPendingDeprecationWarning
, সুতরাং এটি কি সত্যই অবমূল্যায়ন করা হবে? এই পোস্টটিও বেশ পুরানো, সুতরাং তথ্য পুরানো হতে পারে।
Formatter
ক্লাস ভুলে গেছেন তা বোঝানোর দরকার নেই?