পাইথন `decimal` মডিউল

পাইথন `decimal` মডিউল

এই প্রবন্ধটি পাইথনের decimal মডিউল ব্যাখ্যা করে।

আপনি decimal মডিউলের সাহায্যে গণনার মৌলিক দিক, প্রিসিশন পরিচালনা, রাউন্ডিং সহ কোড উদাহরণসমূহের মাধ্যমে আরও অনেক কিছু শিখতে পারবেন।

YouTube Video

পাইথন decimal মডিউল

পাইথনের decimal মডিউল স্থির-প্রিসিশন দশমিক অঙ্কের গাণিতিক কাজ প্রদান করে যা ভাসমান বিন্দুর গণনায় ত্রুটি এড়াতে সাহায্য করে। এই মডিউল ব্যবহার করে আর্থিক হিসাব-নিকাশ বা উচ্চ নির্ভুলতা প্রয়োজন এমন গণনায় আরও নির্ভরযোগ্য ফলাফল অর্জন করা সম্ভব। যেসব পরিস্থিতিতে float টাইপ থেকে ত্রুটি সমস্যা হয়, সেখানে decimal মডিউল কার্যকর।

decimal মডিউলের মৌলিক ব্যবহার

decimal মডিউল ব্যবহারের সময়, Decimal ক্লাসটি আমদানি করুন এবং ভ্যালুগুলি এই ক্লাসের ইনস্টান্স হিসেবে পরিচালনা করুন। এরপর, আমরা মৌলিক ব্যবহার দেখাব।

1from decimal import Decimal
2
3# Basic usage example of Decimal
4a = Decimal('0.1')
5b = Decimal('0.2')
6result = a + b
7
8print(f"Result: {result}")  # Result: 0.3
  • এই কোডটি Decimal ক্লাস ব্যবহার করে নির্ভুলভাবে 0.1 এবং 0.2 যোগ করে। float টাইপ ব্যবহার করে একই গণনা করলে ত্রুটি সম্বলিত মান পাওয়া যায়, তবে Decimal এই ত্রুটিগুলি এড়ায়।

প্রিসিশন নিয়ন্ত্রণ

decimal মডিউল আপনাকে সহজে গণনার প্রিসিশন (দশমিক স্থানের সংখ্যা) নিয়ন্ত্রণ করার সুবিধা দেয়। getcontext() ফাংশন ব্যবহার করে বর্তমান প্রসঙ্গ পেতে এবং এর সেটিংস পরিবর্তন করতে পারবেন।

1from decimal import Decimal, getcontext
2
3# Set the precision
4getcontext().prec = 4  # Set to 4 decimal places
5
6a = Decimal('1') / Decimal('3')
7print(f"Result with precision 4: {a}")  # Result with precision 4: 0.3333
  • এই উদাহরণে, 1 ÷ 3 এর গণনার জন্য প্রিসিশনটি 4 সংখ্যায় সেট করা হয়েছে। Decimal ব্যবহার করে আপনি প্রয়োজন অনুসারে গণনার প্রিসিশন নির্ধারণ করতে পারেন, যা আপনাকে ফলাফল সামঞ্জস্য করতে সাহায্য করে।

রাউন্ডিং

decimal মডিউলে রাউন্ডিং পদ্ধতি নির্ধারণের জন্য অনেক বিকল্প রয়েছে। নিচে ROUND_UP এবং ROUND_DOWN এর মতো বিভিন্ন রাউন্ডিং বিকল্প ব্যবহার করার উদাহরণ দেওয়া হয়েছে।

 1from decimal import Decimal, ROUND_UP, ROUND_DOWN
 2
 3# Example of rounding a number
 4a = Decimal('1.2345')
 5
 6# Rounding up
 7rounded_up = a.quantize(Decimal('0.01'), rounding=ROUND_UP)
 8print(f"Rounded Up: {rounded_up}")  # Rounded Up: 1.24
 9
10# Rounding down
11rounded_down = a.quantize(Decimal('0.01'), rounding=ROUND_DOWN)
12print(f"Rounded Down: {rounded_down}")  # Rounded Down: 1.23
  • এখানে, quantize() ব্যবহার করে সংখ্যাগুলিকে 2 দশমিক স্থান প্রিসিশনে উপরে এবং নিচে গোলাকৃতি করা হয়েছে। এটি রাউন্ডিং সহ বিভিন্ন ধরণের রাউন্ডিং পদ্ধতিরও অনুমতি দেয়।

অপারেশনাল প্রসঙ্গ এবং ব্যতিক্রম

decimal মডিউল অপারেশন চলাকালে ঘটে যাওয়া ত্রুটি এবং ব্যতিক্রমগুলিও পরিচালনা করতে পারে। কাস্টম পরিচালনা নির্দিষ্ট ত্রুটির জন্য সংজ্ঞায়িত করা যেতে পারে, যেমন শূন্য দ্বারা ভাগ বা ওভারফ্লো।

1from decimal import Decimal, getcontext, DivisionByZero
2
3# Exception handling
4getcontext().traps[DivisionByZero] = True
5
6try:
7    result = Decimal('1') / Decimal('0')
8except DivisionByZero:
9    print("Division by zero error caught!")
  • এই উদাহরণে, DivisionByZero ব্যতিক্রমটি ধরা হয় যখন শূন্য দ্বারা ভাগ করা হয়। decimal মডিউলে, ত্রুটিগুলি এই ভাবে নিয়ন্ত্রণ এবং কাস্টমাইজ করা যেতে পারে।

সারসংক্ষেপ

decimal মডিউলটি আর্থিক হিসাব বা যেখানে ভাসমান বিন্দুর ত্রুটি এড়ানোর জন্য উচ্চ নির্ভুলতা প্রয়োজন সেখানে অত্যন্ত উপযোগী। এটি মৌলিক গণনা থেকে নির্ভুলতা ব্যবস্থাপনা, রাউন্ডিং এবং ব্যতিক্রম পরিচালনার জন্য বিস্তৃত অ্যাপ্লিকেশন সমর্থন করে। নিম্নলিখিত সংক্ষিপ্ত পয়েন্টগুলি পর্যালোচনা করুন এবং আপনার নির্দিষ্ট প্রয়োজন অনুযায়ী decimal মডিউল ব্যবহার করুন।

  • Decimal ক্লাসের সাহায্যে সঠিক দশমিক গণিত সম্ভব।
  • আপনি মুক্তভাবে নির্ভুলতা এবং রাউন্ডিং সেটিংস সামঞ্জস্য করতে পারেন।
  • শূন্য দ্বারা ভাগের মতো ব্যতিক্রমগুলি পরিচালনা করা যায়।

এটি আপনাকে সঠিক সংখ্যাসূচক গণনা প্রয়োজন এমন পরিস্থিতিতে ত্রুটি কমাতে decimal মডিউল ব্যবহার করতে সক্ষম করে।

আপনি আমাদের ইউটিউব চ্যানেলে ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করে উপরের নিবন্ধটি অনুসরণ করতে পারেন। দয়া করে ইউটিউব চ্যানেলটিও দেখুন।

YouTube Video