On Feb 11, 5:16 am, bearophileh...@lycos.com wrote: > christopher.saun...@durham.ac.uk (c d saunter): > > >I assume it is a feature of the compiler.< > > Yes it's a bug-prone antifeature that's probably a relic from C that > doesn't have a concatenation operator among strings as Python does > (+). So in Python it saves you to use + at the cost of possible bugs. > > Bye, > bearophile
I've used this feature in C and Python when I want to wrap strings without having a newlines in the strings... grouping the whole bunch with a set of parenthesis to make the concatenation explicit. Admittedly, I wouldn't be broken up if this feature became deprecated, as It does do a minor optimization in Python and most C compilers. The two string constants are concatenated when the code is parsed, rather than when the code is executed. >>> from dis import dis >>> def f(): ... return 'This is ' 'an example.' ... >>> dis(f) 2 0 LOAD_CONST 1 ('This is an example.') 3 RETURN_VALUE >>> It's such a minor optimization, that you probably wouldn't see any effect on your program. --Jason -- http://mail.python.org/mailman/listinfo/python-list