मैंने गलती से लिखा वाक्य रचना सही है। तो क्या हुआ, पाइथन क्यों सोचता है कि मेरा मतलब है कि मैं क्या टाइप कर रहा हूं?= + अजगर ऑपरेटर
कंप्यूटर हमें बहुत अधिक भरोसा करते हैं। :)
मैंने गलती से लिखा वाक्य रचना सही है। तो क्या हुआ, पाइथन क्यों सोचता है कि मेरा मतलब है कि मैं क्या टाइप कर रहा हूं?= + अजगर ऑपरेटर
कंप्यूटर हमें बहुत अधिक भरोसा करते हैं। :)
यह वही है जैसे आप total_acc = -accuracy
की तरह नकारात्मक थे, नकारात्मक के बजाय सकारात्मक को छोड़कर। यह मूल रूप से total_acc = accuracy
जैसा ही है, हालांकि एक मूल्य जोड़ने से पहले + इसे जोड़ना नहीं है। के बजाय दो (पूर्व: a+b
):
इस के रूप में सिर्फ एक ही तर्क (+a
पूर्व) एक एकल ऑपरेटर कहा जाता है।
This link इसे थोड़ा और बताता है।
ऐसा लगता है कि आप total_acc = +accuracy
कर रहे हैं, जो total_acc
accuracy
के बराबर सेट करता है। +
किसी अन्य मान के बिना एक चर के पहले वैरिएबल की __pos__
विधि कहने का कारण बनता है। अधिकांश प्रकार के लिए, यह nop
है, लेकिन कुछ प्रकार हैं, उदा। Decimal
जो __pos__
लागू करते हैं।
हां यह सही है, लेकिन '+' ऑपरेटर के साथ क्या होता है? किसी मान से पहले – gsamaras
'+' ऑब्जेक्ट की '__pos __()' विधि को आमंत्रित करता है यदि उसके पास है। अधिकांश प्रकारों में ऐसी कोई विधि नहीं होती है, इसलिए यह नो-ऑप है। 'दशमलव 'एक प्रकार है जो इसका उपयोग करता है; https://stackoverflow.com/questions/16819023/whats-the-purpose-of-the-pos-unary-operator-in-python – kindall
@kindall हू, मुझे यह नहीं पता था। जानना अच्छा है, धन्यवाद! मैं इसे अपने उत्तर में जोड़ दूंगा। –
यदि आप इस प्रकार की त्रुटियों को जल्दी से पकड़ने में रुचि रखते हैं, तो आप स्थिर कोड विश्लेषण के साथ ऐसा कर सकते हैं। उदाहरण के लिए, flake8
के लिए:
$ cat test.py
total_acc = 0
accuracy = 10
total_acc =+ accuracy
$ flake8 test.py
test.py:4:12: E225 missing whitespace around operator
इस मामले में, यह +
के बाद अतिरिक्त जगह के बारे में शिकायत कर रहा है, यह सोच कर कि आप वास्तव में total_acc = +accuracy
मतलब है। इससे पहले आपको समस्या की खोज करने में मदद मिलेगी।
एफवाईआई, pylint
उसे भी पकड़ लेगा।
आपका उत्तर * वास्तव में * कुछ विशेष जोड़ता है, आप एक अपवित्र वर्ग के लायक हैं! – gsamaras
'total_acc = + सटीकता'' total_acc = + सटीकता' है – Clodion
ओह तो जब आप नकारात्मक मान चाहते हैं, तो आप * (- 1) नहीं करते, धन्यवाद @Clodion! उसे नहीं पता था। – gsamaras
संभावित डुप्लिकेट [Python3 में यूनरी ऑपरेटरों के साथ रिक्त स्थान के उपयोग के संबंध में तर्क] (http://stackoverflow.com/questions/35208351/logic-regarding-the-use-of-spaces-with-unary-operators-in- python3) – zondo