উত্তর:
পাইথন 2- printতে একটি কীওয়ার্ড ছিল যা একটি বিবৃতি দেয়:
print "Hi"
পাইথন 3-তে, printএকটি ফাংশন যা আহবান করা যেতে পারে:
print ("Hi")
উভয় সংস্করণে, %এমন একটি অপারেটর যা বাম-হাতের স্ট্রিং এবং একটি মান বা মানগুলির একটি টিপল বা dictডান হাতের ম্যাপিং অবজেক্টের (যেমন ) প্রয়োজন requires
সুতরাং, আপনার লাইনটি দেখতে এইরকম হওয়া উচিত:
print("a=%d,b=%d" % (f(x,n),g(x,n)))
এছাড়াও, পাইথন 3 এবং আরও নবীনদের জন্য সুপারিশটি হ'ল- {}স্টাইল বিন্যাসের পরিবর্তে স্টাইল বিন্যাস ব্যবহার করা %:
print('a={:d}, b={:d}'.format(f(x,n),g(x,n)))
পাইথন ৩.6 আরও একটি স্ট্রিং-ফর্ম্যাটিং উপমা: এফ-স্ট্রিংস উপস্থাপন করেছে ।
print(f'a={f(x,n):d}, b={g(x,n):d}')
print('a={first:4.2f}, b={second:03d}'.format(first=f(x,n),second=g(x,n))) যেখানে এই উদাহরণটি দেখায় আপনি কীভাবে মুদ্রণ-শৈলীর সংশোধক ব্যবহার করতে পারেন এবং কীওয়ার্ডগুলি ব্যবহার করতে পারেন।
সর্বাধিক প্রস্তাবিত উপায় হ'ল formatপদ্ধতি ব্যবহার করা । এটি সম্পর্কে এখানে আরও পড়ুন
a, b = 1, 2
print("a={0},b={1}".format(a, b))
ও'রিলির পাইথন কুকবুক থেকে সিম্পল প্রিন্টফ () ফাংশন ।
import sys
def printf(format, *args):
sys.stdout.write(format % args)
উদাহরণ আউটপুট:
i = 7
pi = 3.14159265359
printf("hi there, i=%d, pi=%.2f\n", i, pi)
# hi there, i=7, pi=3.14
PRINTএবং FORMAT...? ফোরট্রান এর দিনগুলি 60+ বছর পরে ফিরে
পাইথন ৩. in ইনলাইন ইন্টারপোলেশনের জন্য এফ-স্ট্রিং প্রবর্তন করেছে। এমনকি সবচেয়ে ভাল এটি ইন্টারপোলেশন সহ ফর্ম্যাট স্পেসিফায়ারদের অনুমতি দেওয়ার জন্য সিনট্যাক্সটি প্রসারিত করে। আমি এটি গুগল করার সময় কিছু কাজ করেছি (এবং এই পুরানো প্রশ্নটি এসেছে!):
print(f'{account:40s} ({ratio:3.2f}) -> AUD {splitAmount}')
পিইপি 498 এর বিশদ রয়েছে। এবং ... এটি অন্যান্য ল্যাংগুলিতে ফর্ম্যাট স্পেসিফায়ারগুলির সাথে আমার পোষা প্রাণীর প্রান্তকে সাজিয়েছে - স্পষ্টকারীদের জন্য অনুমতি দেয় যে তারা নিজেরাই প্রকাশ করতে পারে! হ্যাঁ! দেখুন: বিন্যাস specifiers ।
সাধারণ উদাহরণ:
print("foo %d, bar %d" % (1,2))
একটি সহজ।
def printf(format, *values):
print(format % values )
তারপর:
printf("Hello, this is my name %s and my age %d", "Martin", 20)
আপনার %প্রথম print(...)বন্ধনীর বাইরে থাকায় , আপনি নিজের কলটির ফলস্বরূপ আপনার ভেরিয়েবলগুলি sertোকানোর চেষ্টা করছেন print। print(...)ফিরে আসে None, সুতরাং এটি কাজ করবে না, এবং এর মধ্যে আপনার ছোট্ট বিষয়টি ইতিমধ্যে আপনার টেম্পলেটটি মুদ্রিত করে এই সময় এবং সময় ভ্রমণ দ্বারা আমরা বাস করছি মহাবিশ্বের আইন দ্বারা নিষিদ্ধ।
পুরো জিনিস আপনি চান সহ প্রিন্ট করতে, %হতে এবং তার প্রতীক, চাহিদা ভিতরে আপনার print(...)কল, যাতে স্ট্রিং আগেই ছাপা হয় নির্মিত হতে পারে।
print( "a=%d,b=%d" % (f(x,n), g(x,n)) )
এটি পরিষ্কার করার জন্য আমি কয়েকটি অতিরিক্ত স্পেস যুক্ত করেছি (যদিও এগুলি প্রয়োজনীয় নয় এবং সাধারণত ভাল স্টাইল হিসাবে বিবেচিত হয় না)।
অন্য শব্দগুলি মুদ্রণ অজগর থেকে অনুপস্থিত ... আমি অবাক! সেরা কোড হয়
def printf(format, *args):
sys.stdout.write(format % args)
এই ফর্মের কারণে print n মুদ্রণ করতে দেয় না। অন্য সমস্ত না। এজন্য প্রিন্টটি খারাপ অপারেটর। এবং আপনার বিশেষ ফর্মে আরোগুলি লিখতে হবে। উপরের ক্রিয়ায় কোনও অসুবিধা নেই। এটি প্রিন্টফ ফাংশনের একটি আদর্শ সাধারণ রূপ
%সর্বদা স্ট্রিং অপারেটর হয়ে থাকে,printবিবৃতি সম্পর্কিত নয় । আপনি উদাহরণস্বরূপ একটি স্ট্রিং তৈরি করতে পারেনs="a=%d,b=%d"%(f(x,n),g(x,n)), তারপরে সেই স্ট্রিংটি মুদ্রণ করতে পারেনprint s।