पायथन में टिल्ड ऑपरेटर का उपयोग क्या है?
एक चीज जिसके बारे में मैं सोच सकता हूं, वह किसी स्ट्रिंग या सूची के दोनों पक्षों में कुछ कर सकती है, जैसे कि यह जांचें कि क्या स्ट्रिंग पैलंड्रोमिक है या नहीं:
def is_palindromic(s):
return all(s[i] == s[~i] for i in range(len(s) / 2))
कोई और अच्छा उपयोग?
-False==0
) इसकी उलझन, चूंकि आप के बारे में बात कर रहे थे ~
, और ~False == -1
जो गलत नहीं है।
__neg__
) के साथ तुलना करना था । संभवत: मुझे इसका उपयोग जारी रखना चाहिए True
, उदाहरण के लिए -True == -1
, जो -2 या False
गलत नहीं है, जो इसे स्पष्ट रूप से ~True
परिणाम में वापस जोड़ता है और यह भी कि अंकगणित की उपेक्षा bool
इसके तार्किक निषेध से अलग है। मैं गहरी होने की कोशिश नहीं कर रहा था। मैं सिर्फ 3 ऑपरेशन और अंतर्निहित विशेष तरीकों को उजागर कर रहा था जो कभी-कभी भ्रमित हो जाते हैं।
~
विशेष विधि द्वारा लागू किया गया अनुपूरक परिचालक ऑपरेटर__invert__
से असंबंधित हैnot
, जो तार्किक रूप से लौटाए गए मान__bool__
(या__nonzero__
2.x में) को नकारता है । इसके-
द्वारा कार्यान्वित किए गए एकरी नेगेटिव ऑपरेटर से भी इसका कोई संबंध नहीं है__neg__
। उदाहरण के लिए~True == -2
, जोFalse
गलत या गलत नहीं है , और-False == 0
जो अभी भी गलत है।