python的格式化字符串

本文介绍了Python中使用%符号进行字符串格式化的具体方法,包括如何将变量插入到字符串中,以及不同类型变量的正确格式化方式。同时,文章还提供了一个关于ASCII码的小知识点,解释了ASCII码的构成和其在计算机存储中的作用。

直接上实例:

a = 'xiaosheng今年%d岁'%(18)
print(a)    # xiaosheng今年18岁

注意:%s拼接的只能是字符串,%d拼接的只能是数字,%是占位符

ceshi = '%s今年%d岁,学习进度为%d%%'%('xiaosheng',18,50)
print(ceshi)   #xiaosheng今年18岁,学习进度为50%

附带一个小知识点:

ASCII码最左边全都是0,一共八位,八位表示一个字节(byte),但是第一位永远是0,因为是7位够用,留出来一位做拓展.

1024byte = 1kb

Python 提供了多种字符串格式化的方法,每种方法都有其适用的场景和优势。以下是几种常见的字符串格式化方式及其示例代码。 ### 使用 `.format()` 方法 `.format()` 方法允许通过位置或关键字参数来格式化字符串。当使用字典时,可以通过解包字典来传递参数,从而简化代码。 ```python person = {'name': 'Eric', 'age': 74} "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age']) # 输出 'Hello, Eric. You are 74.' ``` 此外,也可以直接使用字典解包的方式传递参数,使得代码更加简洁[^4]。 ### 使用 f-Strings(格式化字符串常量) f-Strings 是 Python 3.6 引入的一种新的字符串格式化机制,它提供了一种更简洁、直观的方式来嵌入表达式于字符串中。这是目前推荐使用的格式化方式之一。 ```python name = "Eric" age = 74 f"Hello, {name}. You are {age}." # 输出 'Hello, Eric. You are 74.' ``` 这种方式不仅语法简洁,而且执行效率也较高,因为它是在运行时解析的[^1]。 ### 使用 `%` 操作符 尽管较新的方法已经出现,但 `%` 操作符仍然是一个有效的字符串格式化工具,尤其适用于简单的格式化需求。 ```python name = "Eric" age = 74 "Hello, %(name)s. You are %(age)d." % {'name': name, 'age': age} # 输出 'Hello, Eric. You are 74.' ``` 这种方法虽然功能强大,但对于复杂的格式化任务来说可能不够灵活。 ### 使用 `string.Template` 模板 对于需要避免注入攻击或者希望使用更安全的字符串替换机制的情况,可以考虑使用 `string.Template` 类。 ```python from string import Template t = Template('Hello, $name. You are $age.') t.substitute(name='Eric', age=74) # 输出 'Hello, Eric. You are 74.' ``` 这种方式特别适合于用户提供的模板,因为它不会执行嵌入的表达式,从而提高了安全性[^3]。 ### 总结 每种字符串格式化方法都有其特点和适用场景。f-Strings 因其简洁性和高效性成为现代 Python 编程中最常用的方法之一。然而,在特定情况下,如需要更高的安全性或兼容旧版本 Python 时,其他方法仍然具有不可替代的价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值