Python string formatting % s % d % f, python string % s % d % f
As for the discussion of output formatting, the small editor was not just on the rise. When I was learning python, I often encountered "% d" for output. I have never studied it carefully. Today I saw it again, the following is a simple example. python outputs the 99 multiplication table:
#!/usr/bin/python# -*- coding: UTF-8 -*- for i in range(1, 10): print for j in range(1, i+1): print "%d*%d=%d" % (i, j, i*j),
Result:
1*1 = 1
2*1 = 2 2*2 = 4
3*1 = 3 3*2 = 6 3*3 = 9
4*1 = 4 4 4*2 = 8 4*3 = 12 4*4 = 16
5*1 = 5 5*2 = 10 5*3 = 15 5*4 = 20 5*5 = 25
6*1 = 6 6*2 = 12 6*3 = 18 6*4 = 24 6*5 = 30 6*6 = 36
7*1 = 7 7*2 = 14 7*3 = 21 7*4 = 28 7*5 = 35 7*6 = 42 7*7 = 49
8*1 = 8 8*2 = 16 8*3 = 24 8*4 = 32 8*5 = 40 8*6 = 48 8*7 = 56 8*8 = 64
9*1 = 9 9*2 = 18 9*3 = 27 9*4 = 36 9*5 = 45 9*6 = 54 9*7 = 63 9*8 = 72 9*9 = 81
>>>
Next we will study the specific content of string output formatting.
% S string
When printing string = "hello" # % s, the result is hello print "string = % s" % string # output: string = hello # % 2 s, which indicates that the string length is 2, when the length of the original string exceeds 2, it is printed according to the original length. Therefore, the output of % 2s is hello print "string = % 2 s" % string # output: string = hello # % 7s indicates that the string length is 7. When the length of the original string is less than 7, fill in spaces on the left of the original string, # therefore, the print result of % 7s is hello print "string = % 7 s" % string # output: string = hello # %-7s, which means that the string length is 7, when the length of the original string is less than 7, fill in space on the right of the original string, # The print result of %-7s is hello print "string = %-7 s! "% String # output: string = hello! # %. 2 S refers to intercepting the first two characters of the string, so %. the printed result of 2 S is he print "string = %. 2 s "% string # output: string = he # %. 7 S refers to intercepting the first seven characters of a string. when the length of the original string is less than 7, it is the string itself, # So %. the 7 S print result is hello print "string = %. 7 s "% string # output: string = hello # %. bs is a combination of the above two formats. First, the string is intercepted based on the number B after the decimal point. # when the length of the string to be intercepted is smaller than, print "string = % 7.2 s" % string # output: string = he print "string = % 2.7 s" % string # output: string = hello print "string = % 10.7 s" % string # output: string = hello # % * can also be used *. * s indicates the precision. The two * values specify print "string = % * in the first two digits of the parentheses *. * s "% (7,2, string) # output: string = he
% D integer
When num = 14 # % d is printed, the result is 14 print "num = % d" % num # output: num = 14 # % 1d, which indicates that the print result is a one-digit integer, when the number of digits of an integer exceeds 1, it is printed based on the original value of the integer. Therefore, the print result of % 1d is still 14 print "num = % 1d" % num # output: num = 14 # % 3d indicates that the print result is a three-digit integer. When the number of digits of an integer is less than three, fill in spaces on the left side of the integer, therefore, the print result of % 3d is 14 print "num = % 3d" % num # output: num = 14 # %-3d, which means that the print result is a three-digit integer, when the number of digits of an integer is less than three digits, spaces are filled on the right side of the integer. Therefore, the print result of % 3d is 14 _ print "num = %-3d" % num # output: num = 14 _ # % 05d indicates that the print result is a 5-digit integer. If the number of digits of an integer is less than 5, add 0 to the left of the integer, therefore, the print result of % 05d is 00014 print "num = % 05d" % num # output: num = 00014 # %. 3 after the 3d decimal point indicates that the printed result is a three-digit integer. # When the number of digits of an integer is less than 3, add 0 to the left side of the integer, so %. the 3d printing result is 014 print "num = %. 3d "% num # output: num = 014 # %. 0003 and 3 after the decimal point in 3D indicate 3, indicating that the printed result is a three-digit integer. # When the number of digits in an integer is less than 3, add 0 to the left of the integer, so %. the 3d printing result is still 014 print "num = %. 0003d "% num # output: num = 014 # % 5.3d is a combination of the two filling methods. When the number of digits of an integer is less than 3, add 0 to the left, if the number is less than five, fill in spaces on the left. # The rule is to add 0 first. The final length is the one with a large value, therefore, the % 5.3d printing result is still 014 print "num = % 5.3d" % num # output: num = 014 # % 05.3d is a combination of the two methods, when the number of digits in an integer is less than 3, the value is 0 on the left or 5 digits on the left. # because the value is 05, the value is 0 on the left, the final length is the one with a large value, so the print result of % 05.3d is still 00014 print "num = % 05.3d" % num # output: num = 00014 # % *. * d is used to indicate the precision. The two * values are respectively specified in the first two digits of the parentheses # below. However, in this method 04, the 0 population function is lost and only spaces can be filled, only 3 after the decimal point can fill 0 print "num = % *. * d "% (04,3, num) # output: num = 014
% F floating point type
Import math # %. bf, a indicates the print length of the floating point number, and B indicates the precision after the floating point number. # It indicates the original value only when % f is used. The default value is print "PI = % f" % math after the decimal point. pi # output: PI = 3.141593 # if it is only % 9f, it indicates that the print length is 9 digits, and the decimal point is also one digit. If it is not enough, print spaces on the left side "PI = % 9f" % math. pi # output: PI = _ 3.141593 # only. if no subsequent number exists, it indicates that the fractional output integer is removed. 03 indicates that the value is not 3 digits, and 0 print "PI = % 03.f" % math is supplemented on the left. pi # output: PI = 003 # % 6.3f indicates that the number of digits after the decimal point is precise to three digits. The total length is 6 digits, including the decimal point. If the number is not enough, print "PI = % 6.3f" % math. pi # output: PI = _ 3.142 # %-6.3f indicates that the decimal point is precise to three digits, with a total length of six digits, including the decimal point, not enough space fill print "PI = %-6.3f" % math. pi # output: PI = 3.142 _ # % * can also be used *. * f is used to indicate the precision. The two * values are respectively specified in the first two digits of the parentheses # below. However, in this way, the 0 complement function is lost, only space allowed print "PI = % *. * f "% (06, 3, math. pi) # output: PI = _ 3.142
Summary
The above is all the details about formatting Python strings in % s % d % f. I hope it will be helpful to you. If you are interested, you can continue to refer to other related topics on this site. If you have any shortcomings, please leave a message. Thank you for your support!