1. 百分号操作符(%)
- 百分号操作符用于格式化输出,允许在字符串中插入占位符。
- 常用格式说明:
%s
:字符串类型%d
:整数类型%f
:浮点数类型
- 示例代码:
name = "Tom" age = 20 score = 90.5 gender = "Male" print("Name: %s, Age: %d, Gender: %s, Score: %.2f" % (name, age, gender, score))
2. format()
函数
-
format()
函数允许在字符串中通过花括号{}
占位,并用format()
方法传入对应值来替换。 -
基本用法:使用
{}
占位符,后续使用format()
来填充这些占位符。 -
示例代码:
name = "Tom" age = 20 score = 90.5 gender = "Male" print("Name: {}, Age: {}, Gender: {}, Score: {:.2f}".format(name, age, gender, score))
3. f-strings(格式化字符串字面量)
-
f-strings 是 Python 3.6 及以上版本的格式化字符串方法,通过在字符串前加
f
来实现。它是最简洁和推荐的方法。 -
基本用法:在字符串中直接使用
{}
包围变量,前面加f
表示这是一个格式化字符串。 -
示例代码:
name = "Tom" age = 20 score = 90.5 gender = "Male" print(f"Name: {name}, Age: {age}, Gender: {gender}, Score: {score:.2f}")
4. 格式化的高级用法
- 控制小数点的位数:
%f
用于输出浮点数,%.2f
控制保留两位小数。"{:.2f}".format(score)
或f"{score:.2f}"
可以精确控制浮动位数。
- 指定输出宽度与对齐:
- 使用
:4
或:>4
来设置最小宽度。 - 示例:
f"{name:>10}"
将name
右对齐输出,占据至少10个字符的宽度。
- 使用
总结:
- 推荐使用:f-strings(格式化字符串字面量)是最简洁的格式化方式,尤其适用于 Python 3.6 及以上版本。
format()
:较为灵活且适用于多个版本的Python,但代码稍显冗长。- 百分号操作符:是一种旧的格式化方法,适合一些简单需求,但不如其他两种方式灵活。
1. 加号(+
)的两种主要用途:
- 加法运算:当加号两边的操作数都是数值类型(整数或浮点数)时,
+
运算符执行加法运算。 - 字符串拼接:当加号两边的操作数都是字符串时,
+
运算符执行字符串拼接。
2. 例子分析:
-
数值加法:
score = 50.8 result = score + 90 # 结果是140.8,因为50.8和90都是数值类型 print(result)
结果:
140.8
-
字符串拼接:
name = "king" greeting = name + " hi" # 结果是king hi,因为两边都是字符串 print(greeting)
结果:
king hi
-
字符串与数字的拼接:
str_num = "100" num = 100 result = str_num + num # 这里会报错,因为不能直接将字符串和数字相加 print(result)
结果:报错,
TypeError: can only concatenate str (not "int") to str
。可以解决办法是将数字转换为字符串:result = str_num + str(num) print(result) # 输出 "100100"
-
加法运算中的不同类型:
num1 = 34.5 result = num1 + 100 # 结果是134.5,因为两者都是浮点数 print(result)
结果:
134.5
4. 总结:
- 数值加法:加号用于数值时执行加法运算。
- 字符串拼接:加号用于字符串时执行拼接操作。
- 类型不匹配:字符串和数字不能直接使用加号进行运算,必须确保类型一致或者通过类型转换来解决。