syntax difference

Sharan Basappa sharan.basappa at gmail.com
Sun Jun 17 09:24:49 EDT 2018


On Sunday, 17 June 2018 11:00:50 UTC+5:30, Ben Finney  wrote:
> Sharan Basappa <sharan.basappa at 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

Thanks a lot.



More information about the Python-list mailing list