python内置函数
### Python内置函数详解 #### 数学运算类 1. **`abs(x)`**:此函数用于求取一个数值的绝对值。例如,`abs(-5)` 返回 5。 2. **`complex([real[, imag]])`**:创建一个复数。如果只提供实部,则虚部默认为 0。如果提供了实部和虚部,则返回一个复数。例如,`complex(3, 4)` 返回 `(3+4j)`。 3. **`divmod(a, b)`**:同时返回两个结果,即 `a // b` 和 `a % b`。这在处理除法和取模运算时非常有用。例如,`divmod(10, 3)` 返回 `(3, 1)`,表示商为 3 余数为 1。 4. **`float([x])`**:将传入的参数转换为浮点数。如果没有提供参数,则返回 0.0。例如,`float("3.14")` 返回 3.14。 5. **`int([x[, base]])`**:将输入的值转换成整数。参数 `base` 表示基数,常用于将其他进制数转换为十进制。例如,`int("101", 2)` 返回 5,表示二进制的 101 转换为十进制为 5。 6. **`long([x[, base]])`**:在 Python 2 中,`long` 类型用于表示大整数。但在 Python 3 中已经被移除,可以使用 `int` 来替代。 7. **`pow(x, y[, z])`**:返回 `x` 的 `y` 次幂。如果提供了第三个参数 `z`,则返回 `x` 的 `y` 次幂对 `z` 取模的结果。例如,`pow(2, 3)` 返回 8,而 `pow(2, 3, 5)` 返回 3。 8. **`range([start], stop[, step])`**:生成一系列的整数。默认从 0 开始到 `stop - 1`。如果提供了 `start` 参数,则从 `start` 开始到 `stop - 1`。步长 `step` 默认为 1。例如,`range(1, 5)` 返回 `[1, 2, 3, 4]`。 9. **`round(x[, n])`**:返回 `x` 四舍五入后的结果。如果提供了 `n` 参数,则保留 `n` 位小数。例如,`round(3.14159, 2)` 返回 3.14。 10. **`sum(iterable[, start])`**:对 `iterable` 中的所有元素求和。如果提供了 `start` 参数,则将求和的结果加上 `start`。例如,`sum([1, 2, 3, 4])` 返回 10。 11. **`oct(x)`**:将整数 `x` 转换成八进制字符串。例如,`oct(8)` 返回 `'0o10'`。 12. **`hex(x)`**:将整数 `x` 转换成十六进制字符串。例如,`hex(255)` 返回 `'0xff'`。 13. **`chr(i)`**:返回整数 `i` 对应的 ASCII 字符。例如,`chr(65)` 返回 `'A'`。 14. **`bin(x)`**:将整数 `x` 转换成二进制字符串。例如,`bin(10)` 返回 `'0b1010'`。 15. **`bool([x])`**:将 `x` 转换成布尔值。任何非零和非空的值都被认为是 `True`,否则为 `False`。例如,`bool(0)` 返回 `False`。 #### 集合类操作 1. **`unichr(i)`**:返回整数 `i` 对应的 Unicode 字符。注意,在 Python 3 中,此函数已被替换为 `chr()`。 2. **`basestring()`**:在 Python 2 中,它是 `str` 和 `unicode` 的超类,但在 Python 3 中已经不再可用。 3. **`format(value[, format_spec])`**:按照指定格式 `format_spec` 格式化 `value`。例如,`"{:.2f}".format(3.14159)` 返回 `"3.14"`。 4. **`enumerate(sequence[, start=0])`**:返回一个枚举对象,它包含了 `sequence` 的索引和值。例如,`enumerate(['a', 'b', 'c'])` 返回 `[(0, 'a'), (1, 'b'), (2, 'c')]`。 5. **`iter(o[, sentinel])`**:返回一个迭代器对象。如果提供了 `sentinel` 参数,则当调用 `next()` 方法且返回值等于 `sentinel` 时停止迭代。 6. **`max(iterable[, args][, key])`**:返回 `iterable` 或提供的 `args` 中的最大值。如果提供了 `key` 函数,则根据 `key` 函数的返回值来比较元素。 7. **`min(iterable[, args][, key])`**:返回 `iterable` 或提供的 `args` 中的最小值。如果提供了 `key` 函数,则根据 `key` 函数的返回值来比较元素。 8. **`dict([arg])`**:创建一个新的字典。如果提供了 `arg`,则根据 `arg` 来初始化字典。例如,`dict([(1, 'one'), (2, 'two')])` 返回 `{1: 'one', 2: 'two'}`。 9. **`list([iterable])`**:将一个集合转换为列表。例如,`list('hello')` 返回 `['h', 'e', 'l', 'l', 'o']`。 10. **`set()`**:创建一个新的空集合。例如,`set([1, 2, 2, 3])` 返回 `{1, 2, 3}`。 11. **`frozenset([iterable])`**:创建一个不可变集合。例如,`frozenset([1, 2, 2, 3])` 返回 `frozenset({1, 2, 3})`。 12. **`str([object])`**:返回 `object` 的字符串表示。例如,`str(3.14)` 返回 `'3.14'`。 13. **`sorted(iterable[, cmp[, key[, reverse]]])`**:对 `iterable` 进行排序。如果提供了 `cmp` 函数,则使用自定义比较函数进行排序。`key` 函数用于提取比较的关键字,`reverse` 参数控制排序的方向。 14. **`tuple([iterable])`**:将 `iterable` 转换为元组。例如,`tuple([1, 2, 3])` 返回 `(1, 2, 3)`。 15. **`xrange([start], stop[, step])`**:在 Python 2 中,与 `range()` 类似,但它返回的是一个 xrange 对象而不是创建一个列表。在 Python 3 中,已替换为 `range()`。 #### 逻辑判断 1. **`all(iterable)`**:如果 `iterable` 中的所有元素均为 `True` 或者为空,则返回 `True`。 2. **`any(iterable)`**:如果 `iterable` 中有任何一个元素为 `True` 或者为空,则返回 `True`。 3. **`cmp(x, y)`**:此函数在 Python 2 中用于比较两个对象 `x` 和 `y`。如果 `x < y`,返回负数;如果 `x == y`,返回 0;如果 `x > y`,返回正数。在 Python 3 中已废弃。 #### 反射 1. **`compile(source, filename, mode[, flags[, dont_inherit]])`**:将源代码 `source` 编译成代码对象或抽象语法树(AST)。参数 `filename` 是一个字符串,通常用于表示源代码的文件名。`mode` 参数指定要编译的代码类型,常见的值有 `'exec'`、`'eval'` 和 `'single'`。 2. **`eval(expression[, globals[, locals]])`**:计算 `expression` 的值。参数 `globals` 和 `locals` 分别指定了全局和局部作用域。 3. **`delattr(object, name)`**:删除对象 `object` 的名为 `name` 的属性。 4. **`callable(object)`**:检查对象 `object` 是否可调用。类和定义了 `__call__` 方法的实例被认为是可调用的。 5. **`classmethod()`**:在 Python 中用于定义类方法。类方法可以通过类或其实例调用,它们不需要 `self` 参数。 6. **`getattr(object, name[, default])`**:获取对象 `object` 的名为 `name` 的属性。如果属性不存在并且提供了 `default` 参数,则返回 `default` 值。 7. **`globals()`**:返回当前全局符号表的字典。 8. **`hasattr(object, name)`**:检查对象 `object` 是否具有名为 `name` 的属性。 9. **`filter(function, iterable)`**:构建一个列表,其中包含 `iterable` 中所有使得 `function` 返回 `True` 的元素。 10. **`dir([object])`**:如果不带参数,则返回当前范围内的变量、方法和定义的列表。如果提供了 `object`,则返回该对象的属性列表。