मैं पायथन 3.3 के व्यवहार की पुष्टि कर सकता हूं। यह किसी भी तरह से पता लगाता है कि आपने संदर्भ के रूप में None
पारित किया है और इसे पसंद नहीं है (भले ही इसे डिफ़ॉल्ट मान के रूप में दस्तावेज किया गया हो)।
Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:57:17) [MSC v.1600 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import decimal
>>> decimal.Decimal('3', None)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: optional argument must be a context
>>> decimal.Decimal('3')
Decimal('3')
अद्यतन: लेकिन इसके साथ 3.2.3
Python 3.2.3 (default, Apr 11 2012, 07:12:16) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import decimal
>>> decimal.Decimal('3', None)
Decimal('3')
>>>
अद्यतन काम करता है: कारण दस्तावेज़ में पाया जा सकता है ...
What’s New In Python 3.3 का कहना है:
दशमलव
अंक 7652 - तेजी से देशी दशमलव अंकगणित एकीकृत करें। सी-मॉड्यूल और libmpdec Stefan Krah द्वारा लिखित।
जब decimal.py
फ़ाइलों की तुलना, वे पहली बार में एक ही लग सकता है, लेकिन अजगर 3.3 संस्करण लगभग अंत में निम्नलिखित कोड शामिल हैं:
try:
import _decimal
except ImportError:
pass
else:
s1 = set(dir())
s2 = set(dir(_decimal))
for name in s1 - s2:
del globals()[name]
del s1, s2, name
from _decimal import *
... जबकि बड़े अजगर 3.2 करता है नहीं। यह कहता है कि यदि बाइनरी _decimal
कार्यान्वयन आयात किया जा सकता है, तो decimal.py
से पुराने कार्यान्वयन को अनदेखा किया जाता है। और पाइथन-कोड डीबगर का उपयोग करके बाइनरी मॉड्यूल को डीबग नहीं किया जा सकता है।
सवाल यह है कि क्या देखा गया व्यवहार एक बग नहीं माना जाना चाहिए।
इसके लायक होने के लिए, मैं इसे पायथन 3.2.3 के तहत पुन: उत्पन्न करने में असमर्थ हूं: 'दशमलव आयात करें; दशमलव। दशमलव ("3", कोई नहीं) 'सफलतापूर्वक 'दशमलव (' 3 ')' लौटाता है। –
[यह एक बग है] (http://bugs.python.org/issue15783) – SilentGhost
@SilentGost: मैं इस लिंक में देखता हूं कि यह मॉड्यूल के सी त्वरक संस्करण (जो कुछ भी है) में एक बग है। यह समझा सकता है कि मुझे पीडीबी से कुछ क्यों नहीं मिलता है। लेकिन क्या मैं निर्दिष्ट कर सकता हूं कि मुझे शुद्ध पायथन संस्करण चाहिए? –