একটি উদাহরণ ব্যবহার:
>>> s = 'Hello world'
>>> t = buffer(s, 6, 5)
>>> t
<read-only buffer for 0x10064a4b0, size 5, offset 6 at 0x100634ab0>
>>> print t
world
এই ক্ষেত্রে বাফারটি একটি সাব-স্ট্রিং, length অবস্থানে দৈর্ঘ্যের 5 দিয়ে শুরু হয় এবং এটি অতিরিক্ত স্টোরেজ স্থান নেয় না - এটি স্ট্রিংয়ের একটি টুকরোকে উল্লেখ করে।
এটি এর মতো সংক্ষিপ্ত স্ট্রিংগুলির জন্য খুব কার্যকর নয় তবে বিপুল পরিমাণে ডেটা ব্যবহার করার সময় এটি প্রয়োজনীয় হতে পারে। এই উদাহরণটি একটি পরিবর্তনীয় ব্যবহার করে bytearray:
>>> s = bytearray(1000000) # a million zeroed bytes
>>> t = buffer(s, 1) # slice cuts off the first byte
>>> s[1] = 5 # set the second element in s
>>> t[0] # which is now also the first element in t!
'\x05'
আপনি যদি ডেটাতে একাধিক ভিউ রাখতে চান এবং মেমরিতে একাধিক অনুলিপি রাখতে চান না (বা করতে পারবেন না) এটি খুব সহায়ক হতে পারে।
দ্রষ্টব্য যে পাইথন 3 bufferএ আরও ভাল নাম দ্বারা প্রতিস্থাপন করা হয়েছে memoryview, যদিও আপনি পাইথন ২.7 ব্যবহার করতে পারেন।
এটিও নোট করুন যে আপনি সিআই এ ডেলিং ছাড়াই আপনার নিজের সামগ্রীর জন্য বাফার ইন্টারফেস প্রয়োগ করতে পারবেন না, অর্থাত আপনি খাঁটি পাইথনে এটি করতে পারবেন না।
s[6:11]অতিরিক্ত স্টোরেজ স্থান নেয় না, আমি কি ভুল?