Strings with embedded variables in Python -
maybe asked didn't find , wanted know how embed variables string in python. this:
print('hi, name %s , age %d' %(name, age)) but confusing , ruby this
puts('hi, name #{name} , age #{age}') is there way in python in ruby?
from python 3.6 onwards, can use formatting string literal (aka f-strings), takes valid python expression inside {...} curly braces, followed optional formatting instructions:
print(f'hi, name {name} , age {age:d}') here name , age both simple expressions produce value name.
in versions preceding python 3.6, can use str.format(), paired either locals() or globals():
print('hi, name {name} , age {age}'.format(**locals())) as can see format rather close ruby's. locals() , globals() methods return namespaces dictionary, , ** keyword argument splash syntax make possible str.format() call access names in given namespace.
demo:
>>> name = 'martijn' >>> age = 40 >>> print('hi, name {name} , age {age}'.format(**locals())) hi, name martijn , age 40 note explicit better implicit , should pass in name , age arguments:
print('hi, name {name} , age {age}'.format(name=name, age=age) or use positional arguments:
print('hi, name {} , age {}'.format(name, age))
Comments
Post a Comment