Application scenarios: Generally, placeholders are provided when print; two formats are provided in python String formatting method: The first is the ancient method of using the percent sign, and the second is the enhanced format string, format function.
1. Common usage
Common placeholder: %s ------------- String placeholder
%d -------------Number placeholder
%f --------------------- -Floating pointNumber placeholder
For example: enter the user's information and print it out
name= raw_input('input your name: ') age= raw_input ('input your age: ') job = raw_input ('input your job: ') msg=''' #定义变量msg,字符串中提供占位符 Information of user %s: ------------------------------- Name: %s Age: %s #特别注意这里,像age这种通过raw_input方式定义的变量,python默认都为字符串,因此这里不用%d,而是用%s #如果非要用%d的话,那么可以在定义age的时候用函数转换 age= int(raw_input ('input your age: ')) Job: %s --------------End-------------- '''%(name,name,age,job) #把3个用户定义的变量依次赋给msg字符串中的各个占位符,实现替换,注意4个要按顺序一一对应 print msg 结果: Information of user Mr.Mangood: ------------------------------- Name: Mr.Mangood Age: 27 Job: Engineer --------------End--------------
2. More advanced usage
Account Bit structure: %[(name)][flags][width].[precision]typecode
where:
(name) key
[flags]key
>>> info = '''联系人%(name)s的年龄是%(age)d'''%{'name':'Mr.Mangood','age':23} # 这里可以用字典{'name':'Mr.Mangood','age':23}来对占位符传值 >>> print info 联系人Mr.Mangood的年龄是23
When setting the width, for example, 20 characters are set, but when we pass the value, we only write 4 characters. At this time, the concept of alignment appears. Generally, we will use [width] to say
+ Right-justify[width]
Optional, define the placeholder width>>> info = '''联系人%(name)20s的年龄是%(age)d'''%{'name':'Mr.Mangood','age':23} # 这里的20就是宽度[width],不写[flags]默认右对齐
>>> print info
联系人 Mr.Mangood的年龄是23
>>> info = '''联系人%(name)+20s的年龄是%(age)d'''%{'name':'Mr.Mangood','age':25} # 这里的+20就是右对齐
>>> print info
联系人 Mr.Mangood的年龄是25
>>> info = '''联系人%(name)-20s的年龄是%(age)d'''%{'name':'Mr.Mangood','age':23} # 这里的-20就是代表左对齐
>>> print info
联系人Mr.Mangood 的年龄是23
The number of digits to retain after the decimal point>>> info = '''学生%(name)s的年龄是%(age)d平均成绩为%(avgscore).2f'''%{'name':'Mr.Mangood','age':25,'avgscore':85.2479} #这里的.2就代表%f这个浮点型占位符保留两位小数
>>> print info
学生Mr.Mangood的年龄是25平均成绩为85.25
Required
c %c will convert the incomingintegerdigit into its unicode corresponding value
o Convert the integer to octal representation
>>> s = '''测试ASCII码转换%c测试八进制转换%o测试16进制转换%x'''%(65,9,15) >>> print s 测试ASCII码转换A测试八进制转换11测试16进制转换f
E Convert integers and floating-point numbers into scientific notation (scientific notation) The E in is a capital E)
>>> test = '''测试科学技术法%e测试科学技术法%E'''%(98888888,98888888)
>>> print test
测试科学技术法9.888889e+07测试科学技术法9.888889E+07
## G Automatically identify whether the size of the number needs to be converted into scientific notation (if it exceeds 6 digits, use scientific notation to express it), scientific notation The G in is uppercase
>>> test = '''测试科学技术法%e测试科学技术法%g'''%(123456,123456) >>> print test 测试科学技术法1.234560e+05测试科学技术法123456
>>> zhenli = '''%s是%d%%纯爷们'''%('Mr.Mangood',100) >>> print zhenli Mr.Mangood是100%纯爷们
The above is the detailed content of How to use python format string. For more information, please follow other related articles on the PHP Chinese website!