পাইথনে %s এর অর্থ কী - গোপনীয়তা প্রকাশ!

%s একটি আর্গুমেন্ট স্পেসিফায়ার এবং স্ট্রিং ফরম্যাটিং এর জন্য ব্যবহৃত হয়। এটি সি ভাষা থেকে তার সিনট্যাক্স ধার করে। সহজ কথায়, এটি আপনাকে একটি স্ট্রিংয়ের ভিতরে একটি মান যুক্ত করতে দেয়।

মানটি একটি স্ট্রিং বা যেকোনো বস্তু হতে পারে যা একটি স্ট্রিং-এ রূপান্তরিত হতে পারে, উদাহরণস্বরূপ, সংখ্যা, তালিকা, ইত্যাদি।



সমস্ত স্ট্রিং মান

নিম্নলিখিত উদাহরণ বিবেচনা করুন.

name = input("Please insert your name: ")
song = input("What is your favorite song? " )
print("Hello %s! Would you like to listen to %s?" %(name, song))

উপরের উদাহরণে, আমরা ব্যবহারকারীর কাছ থেকে নাম এবং প্রিয় গানটি গ্রহণ করি এবং এই মানগুলি ব্যবহার করে একটি বার্তা প্রদর্শন করি।

তাছাড়া, আমরা করা %s সেই জায়গাগুলিতে একটি স্থানধারক হিসাবে যেখানে আপনি ভেরিয়েবলের মান চান।

মান ধারণকারী একটি টিপল ফর্ম্যাট স্ট্রিং অনুসরণ করে, যেমন, %(নাম, গান) . আপনি তাদের প্রদর্শন করতে চান একই ক্রমে মান সন্নিবেশ করা মনে রাখবেন. এই ক্ষেত্রে, দ নাম প্রথমে আসবে এবং তারপর গান .

উপরের উদাহরণের একটি নমুনা আউটপুট নীচে দেওয়া হল।

Please insert your name: ashton
What is your favorite song? Perfect
Hello ashton! Would you like to listen to Perfect?

আপনি দেখতে পাচ্ছেন, এটি প্রত্যাশিত হিসাবে কাজ করে।

একটি একক মান

যদি আমরা শুধুমাত্র একটি একক আছে %s , তাহলে আমরা একটি টিপল ছাড়া একটি মান লিখতে পারি। দেখা যাক.

name = input("Please insert your name: ")
print("Hello %s!" % name)

আউটপুট

Please insert your name: Agar
Hello Agar!

একটি স্ট্রিং উপস্থাপনা সঙ্গে অবজেক্ট

ইতিমধ্যে উল্লিখিত হিসাবে, একটি মান একটি স্ট্রিং রূপান্তরিত হতে পারে যে কোনো বস্তু হতে পারে. একটি উদাহরণ নেওয়া যাক।

name = "Smith"
score = [70, 80, 90, 100]
print("The score of %s in the last four matches: %s" % (name, score))

আউটপুট

The score of Smith in the last four matches: [70, 80, 90, 100]

আপনি লক্ষ্য করতে পারেন, আমরা ব্যবহার করে একটি স্ট্রিং এবং একটি তালিকা রাখি %s আর্গুমেন্ট স্পেসিফায়ার। এটি তালিকাটিকে স্বয়ংক্রিয়ভাবে একটি স্ট্রিংয়ে রূপান্তর করে।

আসুন একই উদাহরণ গ্রহণ করি এবং কনক্যাটেনেশন অপারেটর ব্যবহার করে এটি করি।

name = "Smith"
score = [70, 80, 90, 100]
print("The score of " + name + " in the last four matches " + str(score))

আউটপুট

The score of Smith in the last four matches [70, 80, 90, 100]

এখানে, %s এর বিপরীতে, আমরা স্পষ্টভাবে তালিকাটিকে একটি স্ট্রিং এবং ব্যবহারে রূপান্তর করি + প্রতিটি জায়গায় আমরা একটি মান যোগ করতে চাই।

টাইপ ত্রুটি

অধিকন্তু, আর্গুমেন্ট স্পেসিফায়ারের সংখ্যা টিপলের মানের সংখ্যার সমান হওয়া দরকার। যদি তারা না হয়, আপনি একটি ত্রুটি পাবেন. দেখা যাক.

name = input("Please insert your name: ")
song = input("What is your favorite song? " )
print("Hello %s! Would you like to listen to %s?" %(name))

আউটপুট

  পাইথনে %s মানে কি?

পাইথনে %s মানে কি?

আপনি উপরের আউটপুটে দেখতে পাচ্ছেন, প্রোগ্রামটি একটি নিক্ষেপ করে টাইপ ত্রুটি .

ম্যাপিং কী

আপনি যে ক্রমে মান সন্নিবেশ করতে চান তা মনে রাখার পরিবর্তে, আপনি একটি পাস করতে পারেন ম্যাপিং কী প্রতি %s . এই ধারণাটি বোঝার জন্য নিম্নলিখিত উদাহরণটি বিবেচনা করুন।

name = "Ashton Agar"
age  = 20
print("My name is %(name)s and my age is %(age)s." %{"age":age, "name":name})

আউটপুট

My name is Ashton Agar and my age is 20.

উপরের উদাহরণে, আমরা টিপলের পরিবর্তে (কী, মান) জোড়া ধারণকারী একটি অভিধান পাস করি। তদুপরি, চাবিটি এর মধ্যে স্থাপন করা হয় % এবং s , যা পরে এর মান দ্বারা প্রতিস্থাপিত হয়। অতএব, আমাদের আদেশটি মনে রাখার দরকার নেই।

%s হল স্ট্রিং ফর্ম্যাট করার একটি পুরানো পদ্ধতি। যেমন উন্নত কৌশল বিন্যাস() এবং f-স্ট্রিং ব্যবহার করা সহজ এবং আরো কার্যকারিতা প্রদান করা হয়.