使用doctest单元测试方式培训讲解:Python字符串格式化(适合测试工程师的学习方法)
本文采用Python doctest单元测试的方法,直接用代码学习代码,滚雪球式的迭代学习。
doctest是一个python标准库自带的轻量单元测试工具,适合实现一些简单的单元测试。它可以在docstring中寻找测试用例并执行,比较输出结果与期望值是否符合。
运行命令
python -m doctest -v dtest.py
如果doctest通过,不会有任何输出。可以加-v参数来查看测试细节。
关于doctest的简单使用请参考:http://mickhan.blog.51cto.com/2517040/944294
''' Python 提供了两种字符串格式化⽅方法,除了熟悉的 C 样式外,还有更强⼤的 format。 ******************************************************* 格式:%[(key)][flags][width][.precision]typecode 标记:- 左对⻬齐,+ 数字符号,# 进制前缀,或者⽤用空格、0 填充。 ******************************************************* >>> dictA = dict(key='a', value=23); print(dictA) {'key': 'a', 'value': 23} >>> '%(key)s = %(value)d' % dictA 'a = 23' >>> "[%-10s]" % 'abc' # 左对齐 '[abc ]' >>> "[%10s]" % 'abc' # 右对齐 '[ abc]' >>> "%+d, %+d" % (5, -6) '+5, -6' >>> "%05d" % 12 # 填充 '00012' >>> "%0.2f" % 2.345 # 小数 '2.35' >>> "%#X; %x" % (100,100) '0X64; 64' ******************************************************************** format 方法⽀支持更多的数据类型,包括列表、字典、对象成员等。 {field!convertflag:formatspec} 格式化规范: formatspec: [[fill]align][sign][#][0][width][.precision][typecode] ******************************************************************** >>> "{key}={value}".format(key='a',value=10) 'a=10' >>> "{0},{1},{0}".format(12,34) # filed可多次使用 '12,34,12' >>> "{0:,}; {1:,.2f}; {1:.2f}".format(1234567,123456.789) # 千分位,带小数 '1,234,567; 123,456.79; 123456.79' >>> "{0:<5};{1:^5};{2:>5};{3:*^5}".format('a','b','c','d') 'a ; b ; c;**d**' >>> import sys >>> "{0.platform}".format(sys) 'darwin' ''' if __name__ == "__main__": import doctest doctest.testmod()