【Python语法基础学习笔记】常用函数
前言
此系列笔记是拨珠自己的学习笔记,自用为主,学习请移步其他大佬的专门教程。
一、进制转换函数
1. bin(x)
- 功能:将整数
x
转换为二进制字符串(以'0b'
开头)。 - 示例:
print(bin(10)) # 输出: '0b1010'
2. oct(x)
- 功能:将整数
x
转换为八进制字符串(以'0o'
开头)。 - 示例:
print(oct(10)) # 输出: '0o12'
3. hex(x)
- 功能:将整数
x
转换为十六进制字符串(以'0x'
开头)。 - 示例:
print(hex(255)) # 输出: '0xff'
4. int(x, base=10)
- 功能:
- 若
x
是字符串,可指定base
(2~36)将其转为十进制整数; - 若
x
是数字,则转为整数(截断小数部分)。
- 若
- 示例:
print(int('1010', 2)) # 输出: 10 print(int('ff', 16)) # 输出: 255 print(int(3.9)) # 输出: 3
二、字符与 ASCII 码转换
5. ord(c)
- 功能:返回单个字符
c
对应的 Unicode 码点(ASCII 是其子集)。 - 示例:
print(ord('A')) # 输出: 65 print(ord('中')) # 输出: 20013(Unicode)
6. chr(i)
- 功能:将整数
i
(Unicode 码点)转为对应的字符。 - 示例:
print(chr(65)) # 输出: 'A' print(chr(20013)) # 输出: '中'
三、数值处理函数
7. abs(x)
- 功能:返回
x
的绝对值。 - 示例:
print(abs(-5)) # 输出: 5 print(abs(-3.14)) # 输出: 3.14
8. pow(x, y[, z])
- 功能:
pow(x, y)
等价于x ** y
;pow(x, y, z)
等价于(x ** y) % z
,但效率更高(用于大数模幂运算)。
- 示例:
print(pow(2, 3)) # 输出: 8 print(pow(2, 3, 5)) # 输出: 3 (因为 8 % 5 = 3)
9. round(x[, ndigits])
- 功能:对
x
四舍五入,保留ndigits
位小数(默认为 0)。- 注意:Python 使用“银行家舍入”(四舍六入五成双)。
- 第二个参数可以为负数以做到其他位的四舍五入。
- 示例:
print(round(3.14159, 2)) # 输出: 3.14 print(round(2.5)) # 输出: 2(不是 3!) print(round(3.5)) # 输出: 4
四、聚合函数(作用于可迭代对象)
10. sum(iterable, start=0)
- 功能:对可迭代对象中的元素求和,加上
start
值。 - 示例:
print(sum([1, 2, 3])) # 输出: 6 print(sum([1, 2, 3], 10)) # 输出: 16
11. max(iterable, *[, key, default])
或 max(a, b, c, ...)
- 功能:返回最大值。
- 示例:
print(max([1, 5, 3])) # 输出: 5 print(max(10, 20, 5)) # 输出: 20 print(max(['apple', 'banana'], key=len)) # 输出: 'banana'
12. min(iterable, *[, key, default])
或 min(a, b, c, ...)
- 功能:返回最小值。
- 示例:
print(min([1, 5, 3])) # 输出: 1 print(min('abc')) # 输出: 'a'
五、高阶函数
13. map(function, iterable, ...)
- 功能:将
function
应用于iterable
的每个元素,返回一个 map 对象(可迭代)。 - 示例:
numbers = [1, 2, 3, 4] squared = map(lambda x: x**2, numbers) print(list(squared)) # 输出: [1, 4, 9, 16]# 多个可迭代对象 a = [1, 2, 3] b = [10, 20, 30] result = map(lambda x, y: x + y, a, b) print(list(result)) # 输出: [11, 22, 33]
总结表格(快速查阅)
函数 | 功能简述 | 示例输入 → 输出 |
---|---|---|
bin() | 转二进制字符串 | bin(5) → '0b101' |
oct() | 转八进制字符串 | oct(9) → '0o11' |
hex() | 转十六进制字符串 | hex(255) → '0xff' |
int() | 字符串转整数 / 截断小数 | int('10', 2) → 2 |
ord() | 字符转 Unicode 码点 | ord('A') → 65 |
chr() | Unicode 码点转字符 | chr(65) → 'A' |
abs() | 绝对值 | abs(-7) → 7 |
pow() | 幂运算(可带模) | pow(2,3,5) → 3 |
round() | 四舍五入(银行家舍入) | round(2.5) → 2 |
sum() | 求和 | sum([1,2,3]) → 6 |
max() | 最大值 | max([1,3,2]) → 3 |
min() | 最小值 | min([1,3,2]) → 1 |
map() | 映射函数到可迭代对象 | map(str, [1,2]) → ['1','2'] |