तो मैं कुछ code ऑनलाइन देख रहा था और मैं (लाइन 286 पर) एक रेखा के पार पहुंचा
if depth > 0 and best <= -MATE_VALUE is None and nullscore > -MATE_VALUE:
तुलना ऑपरेटर और 'है' - पाइथन में ऑपरेटर प्राथमिकता?
हिस्सा रहा था समझने में समस्या आ best <= -MATE_VALUE is None
था।
तो मैंने value1 > value2 is value3
कार्य जैसे विवरण को देखने के लिए दुभाषिया को निकाल दिया।
तो मैं
>>> 5 > 2 is True
False
>>> (5 > 2) is True
True
>>> 5 > (2 is True)
True
मेरे प्रश्न की कोशिश की
क्यों 5 > 2 is True
नहीं True
है? और ये चीजें आम तौर पर कैसे काम करती हैं?
धन्यवाद।
ऑपरेटर चेनिंग को देखो। यह वास्तव में एक प्राथमिकता मुद्दा नहीं है। पहले को तर्कसंगत रूप से '(5> 2) && (2 सत्य है)' के रूप में माना जाता है, यही कारण है कि कैसे पाइथन अर्थपूर्ण 'a
user2864740
http://stackoverflow.com/questions/25753474/python-comparison-operators-chaining-grouping-left-to-right, http://stackoverflow.com/questions/101268/hidden-features-of-python/101945 # 101 9 45, http: // stackoverflow।कॉम/प्रश्न/25103085/चेनिंग-ऑपरेटरों, http://stackoverflow.com/q/6074018/2864740 – user2864740
एफडब्ल्यूआईडब्ल्यू, यह लाइन मेरे लिए बहुत अजीब लगती है - यह तब स्पष्ट नहीं है जब यह अभिव्यक्ति कभी सच होगी। यदि MATE_VALUE एक संख्या है (जो संभवतः यह '-MATE_VALUE' की वजह से है), तो यह कभी भी नहीं होगा (यदि यह था, '-' काम नहीं करेगा।) तो यदि रेखा अपवाद नहीं फेंकती है, क्या यह हमेशा गलत नहीं होगा? – DSM