अजगर 3:
user225312 का उत्तर सही है:
A.str ऑब्जेक्ट में वर्णों की संख्या की गणना करने के लिए , आप len()फ़ंक्शन का उपयोग कर सकते हैं :
>>> print(len('please anwser my question'))
25
B.str ऑब्जेक्ट को स्टोर करने के लिए आवंटित बाइट्स में मेमोरी का आकार प्राप्त करने के लिए , आप sys.getsizeof()फ़ंक्शन का उपयोग कर सकते हैं
>>> from sys import getsizeof
>>> print(getsizeof('please anwser my question'))
50
अजगर 2:
यह पायथन 2 के लिए जटिल हो जाता है।
एlen() अजगर में समारोह 2 रिटर्न की दुकान के लिए आवंटित बाइट्स की गिनती पात्रों इनकोडिंग एक में strवस्तु।
कभी-कभी यह वर्ण गणना के बराबर होगा:
>>> print(len('abc'))
3
लेकिन कभी-कभी, यह नहीं होगा:
>>> print(len('йцы')) # String contains Cyrillic symbols
6
ऐसा इसलिए है क्योंकि आंतरिक रूप से चर-लंबाई एन्कोडिंग काstr उपयोग कर सकते हैं । इसलिए, आप में वर्णों को गिनने के लिए पता होना चाहिए कि आपकी वस्तु का कौन सा एन्कोडिंग उपयोग कर रहा है। फिर आप इसे ऑब्जेक्ट में बदल सकते हैं और कैरेक्टर काउंट प्राप्त कर सकते हैं :strstrunicode
>>> print(len('йцы'.decode('utf8'))) #String contains Cyrillic symbols
3
बी । sys.getsizeof()फ़ंक्शन पायथन 3 के रूप में एक ही काम करता है - यह पूरे स्ट्रिंग ऑब्जेक्ट को संग्रहीत करने के लिए आवंटित बाइट्स की गिनती देता है
>>> print(getsizeof('йцы'))
27
>>> print(getsizeof('йцы'.decode('utf8')))
32