Thomas Heller <theller at python.net> wrote: > > Fredrik Lundh wrote: > > Josiah Carlson wrote: > > > >> At least for the examples of buffers that I've seen, using the buffer > >> interface for objects that support it is equivalent to automatically > >> applying str() to them. This is, strictly speaking, an optimization. > > > > >>> a = array.array("i", [1, 2, 3]) > > >>> str(a) > > "array('i', [1, 2, 3])" > > >>> str(buffer(a)) > > '\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00' > > or: > > thomas at tubu:~$ python2.4 > Python 2.4.2 (#2, Sep 30 2005, 22:19:27) > [GCC 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu8)] on linux2 > Type "help", "copyright", "credits" or "license" for more information. > >>> str(buffer(u"abc")) > 'a\x00\x00\x00b\x00\x00\x00c\x00\x00\x00' > >>> Hrm, those are interesting examples. It would seem as though checking to see if a passed object was a buffer itself, rather than whether it supported the buffer interface, would be more correct. - Josiah
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4