लेकिन, यदि यह आपके लिए संदिग्ध है - कोडर - और यह होना चाहिए क्योंकि आपको पूछना है, तो उम्मीद है कि यह कम से कम पाठक के लिए संदिग्ध होगा और स्पष्टता के लिए कुछ ऑक्टेट्स बर्बाद करेगा।
यदि आप एक कंपाइलर बनते हैं तो प्राथमिकता नियमों पर निर्भर होना बहुत अच्छा है।
टिप्पणी के लिए प्रतिक्रियाओं कहा:
व्यक्ति कोड है जो एक अस्पष्टता है कि आश्वासन के लिए बाहर परामर्श की आवश्यकता का सामना करना पड़ता पढ़ने के लिए, आप यह मान लेना चाहिए कि अगले पाठक आप की तुलना में कम समझ रखने वाले हो जाएगा और उन्हें बचाने के लिए और प्रयास एक ही निर्माण को पार्स करने से बचने योग्य मानव त्रुटि और उनके लिए कोष्ठक जोड़ना।
जैसा भी होता है, यहां तक कि स्वीकृत उत्तर भी गलत था (तर्क में, प्रभाव नहीं, इसकी पहली टिप्पणी देखें) जिसे मैं नहीं जानता था और न ही उन लोगों का एक अंश था जो इसे ऊपर उठाते थे।
मूल बीजगणित के बारे में बयान के रूप में, ओपी में उपयोग किया जाने वाला विशेष उदाहरण निर्देशक है। ऑपरेटर प्राथमिकता के बावजूद अभिव्यक्ति j * (j/m)
बीजगणितीय रूप से (j * j)/m
के समान है। दुर्भाग्यवश, पायथन बीजगणित केवल "प्लेटोनिक आदर्श" बीजगणित का अनुमान है जो j
और m
की परिमाण के आधार पर किसी भी रूप के लिए गलत उत्तर उत्पन्न कर सकता है। उदाहरण के लिए:
>>> m = 1e306
>>> m
1e+306
>>> j = 1e307
>>> j
9.9999999999999999e+306
>>> j/m
10.0
>>> j*j
inf
>>> j * (j/m)
1e+308
>>> (j * j)/m
inf
>>> ((j * j)/m) == (j * (j/m))
False
तो वास्तव में पायथन के (और मेरी एफपीयू) अर्ध बीजगणित की पहचान संपत्ति नहीं रखता है। और यह रूप में documentation notes के लिए आपकी मशीन पर अलग हो सकता है:
चल बिन्दु संख्या सी में लागू किया जाता है डबल का उपयोग कर अपने परिशुद्धता पर सभी दांव बंद कर रहे हैं जब तक आप का क्या मशीन आप के साथ काम कर रहे हैं पता है ।
यह दावा किया जा सकता है एक नहीं अतिप्रवाह के बालों किनारे पर काम कर रहे व्यापार है, और है कि कुछ हद तक सच है, लेकिन आपरेशन के एक आदेश और "सही" एक और के तहत दिए गए संदर्भ से हटा अभिव्यक्ति अनिश्चित है।
"स्पष्टता से स्पष्ट स्पष्ट है।", "अस्पष्टता के मुकाबले, अनुमान लगाने के लिए प्रलोभन से इनकार करें।" - पीईपी 20 – msw
ब्रिटिश: यदि आप "पूर्णांक-केवल कोड" पढ़ रहे थे, तो आपको बहुत बड़ी समस्या है: इसे चलाने के लिए पायथन का किस संस्करण का उपयोग किया जाना था? क्या कोड में '__future__ आयात प्रभाग' से आगे है? क्या उसे '//' के रूप में पढ़ा जाना चाहिए और/या बदलना चाहिए // // '? –
@ जॉन माचिन: / उस मामले में पूर्णांक विभाजन का अर्थ है, भविष्य की सामग्री के बिना पायथन 2.6 है, मैंने नोट किया कि जे * जे/एम (जे * जे)/मीटर जैसे कोड बराबर हैं, लेकिन स्थिरता के बारे में डरते थे यह व्यवहार। –