使用doctest单元测试方式培训讲解:Python字符串格式化(适合测试工程师的学习方法)...

本文介绍Python中两种字符串格式化方法:传统的C样式格式化及更强大的format方法,并演示了具体的使用案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文采用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()

 

转载于:https://www.cnblogs.com/atsats/p/7674603.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值