Hello all. I'm using Python 2.6.4 and Python 3.1.1. My wish is to code in a 3.1-compliant way using 2.6, so I'm importing the __future__ module. I've found a funny thing comparing the two folliwing snippets that differ for one line only, that is the position of __future__ import (before or after the doc string).
Well, I understand the subtle difference but still I wander what really happen behind the scenes. Comments are welcome. --------------------------------------- #!/usr/bin/env python ''' >>> concat('hello','world') 'hello world' ''' from __future__ import unicode_literals def concat( first, second ): return first + ' ' + second if __name__ == "__main__": import doctest doctest.testmod() --------------------------------------- #!/usr/bin/env python from __future__ import unicode_literals ''' >>> concat('hello','world') 'hello world' ''' def concat( first, second ): return first + ' ' + second if __name__ == "__main__": import doctest doctest.testmod() --------------------------------------- The first way shows the following failure: --------------------------------------- Failed example: concat('hello','world') Expected: 'hello world' Got: u'hello world' --------------------------------------- Regards. Matt. -- http://mail.python.org/mailman/listinfo/python-list