Sharan Basappa <sharan.basa...@gmail.com> writes: > I think I am now confused with format options in Python.
You should refer to the documentation for string formatting <URL:https://docs.python.org/3/library/stdtypes.html#str.format> <URL:https://docs.python.org/3/library/string.html#formatstrings> (or, if you want to continue with the older less-flexible style, <URL:file:///usr/share/doc/python3/html/library/stdtypes.html#printf-style-string-formatting>) > I tried an example as below and both print proper value: > > age = 35 > > print "age is %s" % age The ‘s’ format specifier says “Ask the object for its text representation, and put that text here”. Every object has a text representation, so ‘s’ works with any object. > print "age is %d" % age The ‘d’ format specifier says “Format the integer as a decimal text representation, and put that text here”. Only objects that are integers (or that implement the format-as-decimal API) will work with ‘d’. > I other languages I know the format specifier should be same as the > variable type. For example, in the above case, it has to be %d and not > %s Because you are explicitly specifying which formatting to use, there's no ambiguity. With an object that is an integer, either of the above makes sense in different use cases. -- \ “A right is not what someone gives you; it's what no one can | `\ take from you.” —Ramsey Clark | _o__) | Ben Finney -- https://mail.python.org/mailman/listinfo/python-list