python之字符串中有关%d,%2d,%02d的问题

在python中,通过使用%,实现格式化字符串的目的。(这与c语言一致)

其中,在格式化整数和浮点数时可以指定是否补0和整数与小数的位数。

首先,引入一个场宽的概念。

在C语言中场宽代表格式化输出字符的宽度。

  例如:

  可以在"%"和字母之间插进数字表示最大场宽。

  %3d 表示输出3位整型数,不够3位右对齐

  %9.2f 表示输出场宽为9的浮点数,其中小数位为2,整数位为6,小数点占一位,不够9位右对齐。 (注意:小数点前的数字必须大于小数点后的数字。小数点前的数值规定了打印的数字的总宽度。如果忽略了(如:.2f),则意味着总宽度无限制。)

  %8s 表示输出8个字符的字符串,不够8个字符右对齐。

%d的输出结果:

In [75]: for i in range(0,10):
    ...:     print(‘%d‘ %i)
    ...:
0
1
2
3
4
5
6
7
8
9

%2d的输出结果:(场宽为2,右对齐)

In [76]: for i in range(0,10):
    ...:     print(‘%2d‘ %i)
    ...:
    ...:
 0
 1
 2
 3
 4
 5
 6
 7
 8
 9

%02d的输出结果:(补0)

In [77]: for i in range(0,10):
    ...:     print(‘%02d‘ %i)
    ...:
    ...:
    ...:
00
01
02
03
04
05
06
07
08
09

%.2d的输出结果:

In [78]: for i in range(0,10):
    ...:     print(‘%.2d‘ %i)
    ...:
00
01
02
03
04
05
06
07
08
09
时间: 2024-08-10 23:27:45

python之字符串中有关%d,%2d,%02d的问题的相关文章

python提取字符串中数字

题目:[这是一个复杂问题的简化]如下是一个字符串列表,提取字符串中第二个数字,并判断是否大于1000,如果是,从列表中删除这一行. 1000\t1002\n .....[省略].... 代码: <pre name="code" class="python">oldStr = "1000\t1002\n" newStr = oldStr #匹配目标数字左侧字符串 t=newStr.index("\t") newStr

[Python正则表达式] 字符串中xml标签的匹配

现在有一个需求,比如给定如下数据: 2009-2-12 9:22:2 #### valentine s day 2011 #### sex is good for you #### Making love pleasures life genuinely good say researchers does healthy sex life boost mood growing evidence boosts physical increasing longevity reducing risk

Python统计字符串中的中英文字符、数字空格,特殊字符

# -*- coding:utf8 -*- import string from collections import namedtuple def str_count(s): '''找出字符串中的中英文.空格.数字.标点符号个数''' count_en = count_dg = count_sp = count_zh = count_pu = 0 s_len = len(s) for c in s: # 英文 if c in string.ascii_letters: count_en +=

python之字符串中插入变量

方法一:也是 比较好用的,功能教齐全 s="{name} is {sex}" print(s.format(name="zzy",sex="girl")) # zzy is girl 如果要被替换的变量能在变量域中找到, 那么你可以结合使用 format_map() 和 vars() vars()找到所有局部变量 name="zxc" sex="boy" print(s.format_map(vars())

python 字符串中‘r’前缀

在Python中,如果字符串的前面有r/R前缀,那么,就会禁用转义符\的功能: >>>path = r'C:\new\text.dat'>>>pah'C:\\new\\text.dat' >>>print(path)C:\new\text.dat >>>len(path)   #虽然打印的形式不一样,但是字符数还是15个15 上面的例子中,在交互环境下打印,Python将打印结果当成Python code来看待,因此,会有双斜杠:而p

python 提取字符串中的指定字符 正则表达式

例1: 字符串: '湖南省长沙市岳麓区麓山南路麓山门' 提取:湖南,长沙 在不用正则表达式的情况下: address = '湖南省长沙市岳麓区麓山南路麓山门' address1 = address.split('省') # 用“省”字划分字符串,返回一个列表 address2 = address1[1].split('市') # 用“市”字划分address1列表的第二个元素,返回一个列表 print(address1) # 输出 ['湖南', '长沙市岳麓区麓山南路麓山门'] print(ad

python清除字符串中无用字符

将列表val_list中包含的非法字符去掉,illegal_char是非法字符列表 def clear(): illegal_char = [' ','#','%','_','@'] tmp_list = [] val_list = ['aaaaaaaa A A A 1%dddd%[email protected]@@@@@111 #111', 'bbbbbbbbb_ggg_g_g-bbLS##222222222222###-'] for i in illegal_char: for j in

Python去掉字符串中空格的方法

str1 = ' 小明在线 ' print(str1) #lstrip:删除左边的空格 print(str1.lstrip()) #rstrip:删除右连的空格 print(str1.rstrip()) #strip:删除两端的空格 print(str1.strip()) 运行截图: 注释:用 dir(str) 这个方法,获得 str字符串的所有方法列表

python 判断字符串中字符类型的常用方法

s为字符串 s.isalnum() 所有字符都是数字或者字母 s.isalpha() 所有字符都是字母 s.isdigit() 所有字符都是数字 s.islower() 所有字符都是小写 s.isupper() 所有字符都是大写 s.istitle() 所有单词都是首字母大写,像标题 s.isspace() 所有字符都是空白字符. .. 判断是整数还是浮点数 a=123 b=123.123 >>>isinstance(a,int) True >>>isinstance(