字符串格式化

我也是看了《编写高质量代码 改善Python程序的91个建议》这本书并结合网上诸多教程的体会
字符串格式化通常会这样写:

print("Hello %s!" % ("BigBing"))

但当数量多的时候就很难分清楚%s这个占位符对应哪一个实参,
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
基本语法是通过{}: 来代替以前的 % 。
format 函数可以接受不限个参数,位置可以不按顺序。

print('{}+{}={}'.format('10','20','30'))
print('{1}+{0}={2}'.format('10','20','30'))

输出结果:

10+20=30
20+10=30

也可以设置参数:

print("搜索引擎:{name}, 地址 {url}".format(name="百度", url="www.baidu.com"))

通过字典设置参数

kwargs = {"name": "百度", "url": "www.baidu.com"}
print("搜索引擎:{name}, 地址 {url}".format(**kwargs))

输出结果:

搜索引擎:百度, 地址 www.baidu.com

**kwargs
**kwargs 允许你将不定长度的键值对, 作为参数传递给一个函数。 如果你想要在一个函数里处理带名字的参数, 你应该使用**kwargs。。
关键字参数允许你传入0个或任意个含参数名的参数

def test_args_kwargs_0(arg1, arg2, arg3):

    print("arg1:", arg1)

    print("arg2:", arg2)

    print("arg3:", arg3)
    
kwargs_0 = {'arg1':7, 'arg2':3,'arg3':90}

test_args_kwargs_0(**kwargs_0)

输出结果:

arg1: 7
arg2: 3
arg3: 90

同时提醒:传递的所有关键字参数必须与函数接受的某个参数相匹配
若 kwargs_1 = {“arg4”: 3, “arg2”: “two”, “arg1”: 5}
test_args_kwargs_0(**kwargs_1)

会报错

TypeError: test_args_kwargs_0() got an unexpected keyword argument 'arg4'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值