python的格式化语句的三种写法 %s , f "", format

本文介绍了一种使用Python进行字符串格式化的技巧,通过f-string、%操作符和str.format()方法来展示如何将变量嵌入到字符串中,适用于各种场景。

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

name = "小王"
age = 15
f_str = f"姓名:{name} 年龄:{age}"
s_str = "姓名:%s 年龄:%d" % (name, age)
format_str = "姓名:{0} 年龄:{1} 姓名{0} 年龄{1}".format(name, age)
print(f_str)
print(s_str)
print(format_str)

 

好的!下面我们来详细、通俗地介绍 **格式化字符串(Formatted String)**。 --- ## 什么是格式化字符串? 在日常生活中,我们经常需要把一些数据插入到一段文字中。举个例子: > “小明今年 **18岁**,他住在 **北京**。” 在这个句子中,“18岁” 和 “北京” 是动态的数据,可能会根据实际情况发生变化。为了方便处理这样的需求,在编程语言中引入了一种叫作“格式化字符串”的机制,用来将动态数据轻松嵌入到静态文本中。 --- ## 在 Python 中如何实现格式化字符串? Python 提供了多种方式来做字符串格式化,其中最常用的方式之一就是 **f-string**(从 Python 3.6 开始支持)。它是目前最简单、直观的一种写法! ### f-string 示例 ```python name = "小明" age = 18 city = "北京" # 使用 f-string 格式化字符串 sentence = f"{name}今年{age}岁,住在{city}" print(sentence) ``` 运行结果: ``` 小明今年18岁,他住在北京 ``` --- ### f-string 的特点 1. **以字母 `f` 或者 `F` 开头** - 字符串前面加一个小写的 `f` 或大写的 `F`,表示这是一个格式化的字符串。 2. **花括号 `{}` 包裹内容** - 花括号内部可以放置变量名或者简单的表达式。 ```python x = 5 y = 3 result = f"两个数相加的结果是{x + y}" # 输出:两个数相加的结果是8 ``` 3. **支持复杂的表达式** - 花括号内不仅可以放变量,还可以直接计算表达式甚至调用函数。 ```python pi = 3.1415926 sentence = f"圆周率约为 {pi:.2f}" # 小数点后两位 print(sentence) # 输出:圆周率约为 3.14 ``` --- ### 更多功能:控制输出格式 除了基本的变量替换外,f-string 还能对输出做更多自定义操作,比如数字对齐、日期格式化等。 #### 1. 控制浮点数精度 可以用 `:f` 来指定浮点数格式,并通过修改小数位数让数值更美观。 ```python num = 3.1415926 output = f"π ≈ {num:.4f}" # 小数点后保留 4 位 print(output) # π ≈ 3.1416 ``` #### 2. 对齐文本 可以通过 `<`, `>` 和 `^` 符号分别左对齐、右对齐和居中显示内容。 ```python text = "Hello" left_aligned = f"[{text:<10}]" right_aligned = f"[{text:>10}]" centered = f"[{text:^10}]" print(left_aligned) # [Hello ] print(right_aligned) # [ Hello] print(centered) # [ Hello ] ``` #### 3. 显示千分位逗号分割 对于较大的整数或浮点数,可以直接添加 `,` 参数来自动生成千分位符号。 ```python big_number = 123456789 formatted_num = f"这个数字是 {big_number:,}" print(formatted_num) # 这个数字是 123,56,789 ``` --- ### 为什么要使用 f-string? 相比于其他传统的字符串拼接方法(如 `%` 格式化或 `.format()` 方法),f-string 更清晰易读,也更加高效。 #### 传统方法对比 ##### 1. % 格式化 ```python name = "Alice" age = 25 info = "%s 今年 %d 岁" % (name, age) print(info) # Alice 今年 25 岁 ``` 优点:经典;缺点:复杂难懂,容易出错。 ##### 2. .format() 方法 ```python name = "Bob" age = 30 info = "{} 今年 {} 岁".format(name, age) print(info) # Bob 今年 30 岁 ``` 优点:灵活强大;缺点:参数位置有时难以理解。 而 f-string 则结合两者的优点,同时避免其缺点——既简短又明确! --- ### 注意事项 1. **必须声明为 f-string** 如果忘记在字符串前加 `f` 或 `F`,则花括号会被当作普通字符对待: ```python name = "Tom" greeting = "{name}你好" # 错误用法!未声明为 f-string print(greeting) # 输出:{name}你好 ``` 2. **不能包含无效表达式** 花括号内的内容应合法可求值。如果书写错误会导致异常抛出。 --- ### 总结 f-string 是一种快速便捷的方法,能够让我们轻松完成字符串模板填充任务,尤其适合涉及大量动态数据展示场景下的代码编写工作。掌握了它之后,你会发现自己再也不需要用繁琐的方式来构造那些带有变量信息的消息啦! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值