Concatenating Strings
Travis Griggs
travisgriggs at gmail.com
Thu Apr 9 14:29:51 EDT 2015
I was doing some maintenance now on a script of mine… I noticed that I compose strings in this little 54 line file multipole times using the + operator. I was prototyping at the time I wrote it and it was quick and easy. I don’t really care for the way they read. Here’s 3 examples:
if k + ‘_@‘ in documents:
timeKey = k + ‘_@‘
historyKey = thingID + ‘_’ + k
I’m curious where others lean stylistically with this kind of thing. I see *at least* 2 other alternatives:
Use join():
if ‘’.join((k, ‘_@‘)) in documents:
timeKey = ‘’.join((k, ‘_@‘))
historyKey = ‘_’.join((thingID, k))
I don’t really like any of these. Maybe the 3rd, but I’d really rather see the pattern out. I also don’t like that I have to double the parens just to get a single arg joinable tuple for join()
Use format():
if ‘{}_@‘.format(k) in documents:
timeKey = ‘{}_@‘.format(k)
historyKey = ‘{}_{}’.format(thingID, k)
I like these because you see a template of the values. But its still longer than just using +.
So I’m curious from those more seasoned, when they tend to use which approaches, and why.
More information about the Python-list
mailing list