दिलचस्प पोस्ट
std :: auto_ptr to std :: unique_ptr आर में एक कॉलम के प्रत्येक अनन्य मान के लिए केवल पहली पंक्ति का चयन करें MongoDB सभी प्रश्नों को लॉगिंग परीक्षण stream.good () या! Stream.eof () पिछली पंक्ति को दो बार पढ़ता है मैं TensorFlow में एक tensor एक numpy सरणी में कैसे परिवर्तित कर सकते हैं? कैसे आसानी से सी + + enums तार करने के लिए नक्शा जावा 8 में एक java.util.stream.Stream से सूची पुनर्प्राप्त करना अजगर कैसे फ़ाइल को रिक्त या नहीं चेक करें मैं जावास्क्रिप्ट में एक नियमित अभिव्यक्ति के लिए सभी मैचों को कैसे प्राप्त करूं? mod_rewrite: यूआरएल से क्वेरी स्ट्रिंग को हटा दें? Codeigniter त्रुटि संदेशों के बजाय रिक्त पृष्ठ प्रदर्शित करता है अजगर में एक सूची के विभाजित तत्व ToList () – क्या यह एक नई सूची बनाएं? “ “ सबसेट `से बेहतर क्यों है? मैं एंड्रॉइड डिवाइस पर SQLite डेटाबेस कैसे देखूं?

पायथन नंबर स्ट्रिंग 0 से शुरू नहीं कर सकता। क्यों?

मैंने अपने अजगर दुभाषिया पर निम्नलिखित कार्यक्रम को निष्पादित किया है:

>>> def mylife(x): ... if x>0: ... print(x) ... else: ... print(-x) ... >>> mylife(01) File "<stdin>", line 1 mylife(01) ^ SyntaxError: invalid token >>> mylife(1) 1 >>> mylife(-1) 1 >>> mylife(0) 0 

अब, मैंने इसे देखा है, लेकिन जैसा कि लिंक कहता है, अष्टक के लिए 0 कोई अजगर में काम नहीं करता है (यानी अजगर 3 में काम नहीं करता है)। लेकिन इसका मतलब यह नहीं है कि 0 के साथ शुरू होने वाले नंबरों का व्यवहार ठीक से व्याख्या किया जाना चाहिए? या तो बेस-2 में या सामान्य बेस -10 में प्रतिनिधित्व? चूंकि ऐसा नहीं है, इसलिए अजगर ऐसा व्यवहार क्यों करता है? क्या यह एक कार्यान्वयन मुद्दा है? या यह एक अर्थ मुद्दा है?

वेब के समाधान से एकत्रित समाधान "पायथन नंबर स्ट्रिंग 0 से शुरू नहीं कर सकता। क्यों?"

मेरा अनुमान यह है कि 012 अब पायथन 3.x में एक अष्टक शाब्दिक स्थिर नहीं है, इसलिए उन्होंने अजीब पिछड़े संगतता की बग से बचने के लिए 012 सिंटैक्स को अस्वीकार कर दिया है। अपने अजगर 2.x स्क्रिप्ट पर विचार करें जो अष्टक शाब्दिक स्थिरांक का प्रयोग करते हैं:

 a = 012 + 013 

फिर आप इसे अजगर 3 पर बंद कर देते हैं और यह अभी भी काम करता है – यह आपको केवल a = 25 बजाय a = 21 जैसा कि आप पहले (दशमलव) की अपेक्षा करते थे। उस बग को ट्रैक करने में मज़े करें

पायथन 3 रिलीज नोट्स से http://docs.python.org/3.0/whatsnew/3.0.html#integers

ऑक्टल लिटरल्स अब फॉर्म 0720 ; इसके बजाय 0o720 उपयोग करें

पायथन 2.x में ऑक्टल लीटरल्स के लिए 'अग्रणी शून्य' सिंटैक्स एक सामान्य मिला हुआ था:

 Python 2.7.3 >>> 010 8 

पायथन 3.x में यह एक वाक्यविन्यास त्रुटि है, जैसा आपने पाया है:

 Python 3.3.0 >>> 010 File "<stdin>", line 1 010 ^ SyntaxError: invalid token 

आप अब भी तारों से अग्रणी शून्य के साथ बदल सकते हैं:

 >>> int("010") 10