हर कोई जानता है कि अजगर कार्य में कोई मान नहीं है, शायद if
बयान पर कार्य से बचने के लिए जब आम तौर पर सिर्फ एक तुलना करना है:असाइनमेंट बयान मूल्य
>>> if a = b:
File "<stdin>", line 1
if a = b:
^
SyntaxError: invalid syntax
>>> if a == b:
... pass
...
उसी कारण से, एक है कि कई संदेह सकता है उसी कथन पर असाइनमेंट सिंटैक्स त्रुटियां भी थीं।
>>> a = (b = 2)
File "<stdin>", line 1
a = (b = 2)
^
SyntaxError: invalid syntax
तो, मेरे सवाल है:
वास्तव में, a = (b = 2)
एक वैध एक्सप्रेशन नहीं है यही कारण है कि अजगर में a = b = 2
काम करता है के रूप में यह अन्य भाषाओं जहां काम बयानों एक मूल्य है में काम करता है, सी की तरह?
>>> a = b = c = 2
>>> a, b, c
(2, 2, 2)
क्या यह व्यवहार दस्तावेज है? मैं काम के बयान दस्तावेज में इस बारे में कुछ भी नहीं मिला सकता है: http://docs.python.org/reference/simple_stmts.html#assignment-statements