nicety (plural niceties)
- A small detail that is nice or polite to have but isn’t necessary.
Make a comma-separated string
>>> x = ['a', 'b', 'c']
>>> ', '.join(x)
'a, b, c'
Isn’t that prettier than some big loop?
If you want to join a list of elements that aren’t strings, you’ll have to add a step:
>>> x = [1, 2, 3]
>>> ', '.join(map(str, x))
'1, 2, 3'
I’m using map to convert every element to a string first.
Choose a random element from a sequence
>>> from random import choice
>>> choice(x) # doctest: +SKIP
1
The doctest: +SKIP text is just there because the element returned is randomly chosen, and so I can’t predict what the value will be.
Use keyword parameters in your larger string templates
Well-named keywords make big string templates MUCH easier to deal with:
>>> tmpl = """
... Dear %(display_name)s,
...
... Greetings from %(origin_country)s! I have millions of
... %(currency_type)s in my bank account and I can send it all to you if
... you first deposit %(amount)s %(currency_type)s into my account
... first.
...
... Sincerely,
... %(alias)s
... %(origin_country)s
... """
Seeing the key names makes it much easier to remember what gets interpolated. Also, it makes it easier to use the same values more than once.
Usually I pass in a dictionary to the template, but sometimes I do this instead:
>>> display_name = 'Matt'
>>> origin_country = 'Nigeria',
>>> currency_type = 'US dollars'
>>> amount = '250.00'
>>> s = tmpl % locals()
Add New Comment
Viewing 5 Comments
Thanks. Your comment is awaiting approval by a moderator.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Add New Comment