पायथन `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 चैनल पर Visual Studio Code का उपयोग करके ऊपर दिए गए लेख के साथ आगे बढ़ सकते हैं। कृपया YouTube चैनल को भी देखें।

YouTube Video