string - Static vs instance methods of str in Python -
तो, मैंने सीखा है कि तारों का एक केंद्र तरीका है।
& gt; & gt; & gt; 'A'.center (3)' a '
तब मैंने देखा है कि मैं एक ही चीज़' str 'ऑब्जेक्ट का उपयोग कर कर सकता हूं जो एक प्रकार है, क्योंकि
< > <कोड> & gt पूर्व; & gt; & gt; प्रकार (str) & lt; प्रकार 'प्रकार' & gt;इस 'प्रकार' ऑब्जेक्ट का उपयोग करके मैं स्ट्रिंग विधियों तक पहुंच सकता हूं जैसे वे स्थिर कार्य थे।
& gt; & gt; & gt; Str.center ('a', 5) 'a'
अफसोस! यह अजगर का ज़ेन का उल्लंघन करता है।
एक होना चाहिए - और अधिमानतः केवल एक ही - यह करने का सबसे स्पष्ट तरीका।
यहां तक कि ये दो विधियां अलग हैं।
& gt; & gt; & gt; प्रकार (str.center) & lt; टाइप 'method_descriptor' & gt; & Gt; & gt; & gt; प्रकार ('नी!' केंद्र) & lt; टाइप 'builtin_function_or_method' & gt;
अब,
- क्या यह उदाहरण है कि कैसे अजगर में कक्षाएं तैयार की जानी चाहिए?
- प्रकार क्यों भिन्न हैं? < / Li>
- एक विधि_विलेखक क्या है और मुझे परेशान क्यों करना चाहिए?
उत्तर के लिए धन्यवाद!
यह केवल यह है कि पायथन में कक्षाएं कैसे काम करती हैं:
class C: DEF विधि (आत्म, एजीआर): प्रिंट "में सी। विधि, के साथ ", अरग ओ = सी () ओ। विधि (1) सी। विधि (ओ, 1) # प्रिंट: # सी। विधि में, 1 # में सी। विधि में, 1
जब आप कहते हैं कि o.method (1)
आप इसे C.method (ओ, 1)
के लिए एक लघुकोड के रूप में सोच सकते हैं। एक method_descriptor
वह काम करता है जो कि मशीनरी का हिस्सा है।
Comments
Post a Comment