📌 Python 内置函数详解
🔍 eval()
函数
✅ 功能简介
eval()
用于 执行一个字符串形式的 Python 表达式,并返回表达式的结果。
🧪 函数语法
1
| eval(expression[, globals[, locals]])
|
📥 参数说明
- expression:字符串表达式(必需)。
- globals:可选,指定全局命名空间(类型为
dict
)。
- locals:可选,指定局部命名空间(任意映射类型)。
⚠️ eval()
能执行任意代码,使用时要防止代码注入等安全风险!
🎯 使用示例
1 2 3 4 5 6 7 8 9 10
| print(eval("2 + 3 * 4"))
x = 10 print(eval("x + 5"))
env = {'a': 2, 'b': 3} print(eval("a + b", env))
|
🖨️ print()
函数
✅ 函数语法
1
| print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
|
📥 参数说明
- objects:一个或多个要打印的对象。
- sep:对象之间的分隔符,默认空格。
- end:输出的结尾,默认换行符
\n
。
- file:输出目标,默认是标准输出
sys.stdout
。
- flush:是否强制刷新输出缓冲区,默认
False
。
🎯 使用示例:动态打印效果
1 2 3 4 5 6 7
| import time
print("---RUNOOB EXAMPLE : Loading 效果---") print("Loading", end="") for i in range(20): print(".", end="", flush=True) time.sleep(0.5)
|
输出效果:
1 2
| ---RUNOOB EXAMPLE : Loading 效果--- Loading....................
|
🔢 sum()
函数实际案例:查找相反数对
📘 题目说明
输入:
- 第一行:数字个数
n
- 第二行:
n
个整数,可能有重复
输出:
- 数组中成对和为 0 的不同数对个数(每对只算一次)
🎯 示例输入输出
1 2 3 4 5 6
| 输入: 5 -1 2 3 -2 1
输出: 2
|
✅ 解法一:遍历判断
1 2 3 4
| n = int(input()) nums = set(map(int, input().split()))
print(sum(1 for i in nums for j in nums if i + j == 0) // 2)
|
✅ 解法二:用绝对值优化(巧解)
1 2 3 4
| n = int(input()) nums = set(map(int, input().split()))
print(len(nums) - len(set(map(abs, nums))))
|