दिलचस्प पोस्ट
Malloc के लिए एक आवरण समारोह और सी में निशुल्क बनाएँ कस्टमर एडाप्टर फ़िल्टरिंग के साथ Android AutoCompleteTextView काम नहीं कर रहा है सी # में JSON पार्स करें PHP सत्र कैसे काम करते हैं? (नहीं "वे कैसे उपयोग किया जाता है?") android.database.sqlite.SQLiteCantOpenDatabaseException: अज्ञात त्रुटि (कोड 14): डेटाबेस नहीं खोल सका Matplotlib का उपयोग करके इसे प्रदर्शित करने के बजाय छवि फ़ाइल को प्लॉट सहेजें MySQL त्रुटि 2006: mysql सर्वर दूर चला गया है जब * * तैयार बयान का उपयोग नहीं * छद्म तत्वों के अंदर घोंसले के शिकार छद्म तत्व MySQLdb का उपयोग करते हुए कर्सर को बंद करने के लिए एकाधिक, अनुक्रमिक लाने () वादा स्क्रॉलिंग करते समय अर्रे एडाप्टर ऑर्डर में सूची दृश्य मिलते हैं क्या फॉन्ट-चेहरे की घोषणा में अभी भी एट, टीटीएफ और एसवीजी आवश्यक हैं? प्रत्येक बिल्ड पर एक T4 टेम्पलेट चलाने के लिए विजुअल स्टूडियो प्राप्त करें PEM BASE64 एन्कोडेड निजी कुंजी फ़ाइल से आरएसए निजी कुंजी प्राप्त करना

पायथन स्ट्रिंग और इंट की तुलना कैसे करता है?

निम्न स्निपेट को आउटपुट के साथ एनोटेट किया गया है ( जैसा कि ideone.com पर देखा गया है ):

print "100" < "2" # True print "5" > "9" # False print "100" < 2 # False print 100 < "2" # True print 5 > "9" # False print "5" > 9 # True 

क्या कोई बता सकता है कि आउटपुट क्यों ऐसा है?


कार्यान्वयन विवरण

  • क्या यह व्यवहार भाषा विशिष्ट द्वारा अनिवार्य है, या क्या यह लागूकर्ताओं पर निर्भर है?
  • क्या कोई प्रमुख पायथन लागूकरण के बीच अंतर है?
  • क्या पायथन भाषा के संस्करणों के बीच अंतर है?

वेब के समाधान से एकत्रित समाधान "पायथन स्ट्रिंग और इंट की तुलना कैसे करता है?"

अजगर 2 मैनुअल से :

CPython कार्यान्वयन विवरण: संख्याओं को छोड़कर विभिन्न प्रकार के ऑब्जेक्ट उनके प्रकार के नामों द्वारा आदेश दिए जाते हैं; समान प्रकार के ऑब्जेक्ट्स जो उचित तुलना का समर्थन नहीं करते हैं उनके पते द्वारा आदेश दिए जाते हैं।

जब आप दो स्ट्रिंग्स या दो संख्यात्मक प्रकारों का ऑर्डर करते हैं तो क्रम को अपेक्षित तरीके से किया जाता है (स्ट्रिंग के लिए शब्दकोषिक क्रम, पूर्णांक के लिए संख्यात्मक ऑर्डर)

जब आप एक संख्यात्मक और एक गैर-संख्यात्मक प्रकार का आदेश देते हैं, तो संख्यात्मक प्रकार पहले आता है।

 >>> 5 < 'foo' True >>> 5 < (1, 2) True >>> 5 < {} True >>> 5 < [1, 2] True 

जब आप दो असंगत प्रकारों को ऑर्डर करते हैं जहां नें संख्यात्मक होते हैं, तो उनके टाइपनामों के वर्णानुक्रमिक क्रम के अनुसार उन्हें आदेश दिया जाता है:

 >>> [1, 2] > 'foo' # 'list' < 'str' False >>> (1, 2) > 'foo' # 'tuple' > 'str' True >>> class Foo(object): pass >>> class Bar(object): pass >>> Bar() < Foo() True 

एक अपवाद पुराने-शैली वर्ग है जो हमेशा नई-शैली वाले कक्षाओं से पहले आते हैं।

 >>> class Foo: pass # old-style >>> class Bar(object): pass # new-style >>> Bar() < Foo() False 

क्या यह व्यवहार भाषा विशिष्ट द्वारा अनिवार्य है, या क्या यह लागूकर्ताओं पर निर्भर है?

कोई भाषा विनिर्देश नहीं है भाषा संदर्भ कहते हैं:

अन्यथा, अलग-अलग प्रकार के ऑब्जेक्ट हमेशा असमान की तुलना करते हैं, और इन्हें लगातार, लेकिन मनमाने ढंग से आदेश दिए जाते हैं।

तो यह एक कार्यान्वयन विवरण है।

क्या कोई प्रमुख पायथन लागूकरण के बीच अंतर है?

मैं इसका जवाब नहीं दे सकता क्योंकि मैंने आधिकारिक CPYTHON कार्यान्वयन का इस्तेमाल किया है, लेकिन पायथन जैसे अन्य पायथन के कार्यान्वयन भी हैं I

क्या पायथन भाषा के संस्करणों के बीच अंतर है?

पायथन 3.x में व्यवहार को बदल दिया गया है ताकि एक पूर्णांक को आदेश देने का प्रयास किया जा सके और एक स्ट्रिंग एक त्रुटि उत्पन्न करेगी:

 >>> '10' > 5 Traceback (most recent call last): File "<pyshell#0>", line 1, in <module> '10' > 5 TypeError: unorderable types: str() > int() 

स्ट्रिंग्स को तुलनात्मक रूप से तुलना की जाती है, और असमान प्रकारों की तुलना उनके प्रकार ( "int" < "string" ) के नाम से की जाती है। 3.x उन्हें गैर-तुलनीय बनाकर दूसरे बिंदु को हल करता है।