跳转至

Python内置函数

Python 提供了丰富的内置函数,这些函数可以在各种情况下方便地处理数据类型转换、数学运算、序列操作、输入输出、迭代器和生成器等操作。下面是更为全面的Python内置函数的介绍及其示例:

1. 数据类型转换函数

  • int(x[, base]):将x转换为一个整数。

    print(int('42'))  # 输出: 42
    print(int('2A', 16))  # 输出: 42 (基数16)
    

  • float(x):将x转换为一个浮点数。

    print(float('3.14'))  # 输出: 3.14
    

  • complex(real[, imag]):创建一个复数。

    print(complex(1, 2))  # 输出: (1+2j)
    

  • str(x):将x转换为一个字符串。

    print(str(42))  # 输出: '42'
    

  • bool(x):将x转换为布尔值。

    print(bool(1))  # 输出: True
    print(bool(0))  # 输出: False
    

  • list(iterable):将可迭代对象转换为列表。

    print(list('abc'))  # 输出: ['a', 'b', 'c']
    

  • tuple(iterable):将可迭代对象转换为元组。

    print(tuple('abc'))  # 输出: ('a', 'b', 'c')
    

  • set(iterable):将可迭代对象转换为集合。

    print(set([1, 2, 2, 3]))  # 输出: {1, 2, 3}
    

  • dict(mapping, **kwargs):创建一个字典。

    print(dict(a=1, b=2))  # 输出: {'a': 1, 'b': 2}
    

  • frozenset(iterable):创建一个不可变集合。

    print(frozenset([1, 2, 2, 3]))  # 输出: frozenset({1, 2, 3})
    

  • chr(i):返回整数 i 对应的 Unicode 字符。

    print(chr(97))  # 输出: 'a'
    

  • ord(c):返回字符 c 对应的 Unicode 码点。

    print(ord('a'))  # 输出: 97
    

  • hex(x):将整数 x 转换为十六进制字符串。

    print(hex(255))  # 输出: '0xff'
    

  • oct(x):将整数 x 转换为八进制字符串。

    print(oct(8))  # 输出: '0o10'
    

  • bin(x):将整数 x 转换为二进制字符串。

    print(bin(255))  # 输出: '0b11111111'
    

2. 数学运算函数

  • abs(x):返回x的绝对值。

    print(abs(-5))  # 输出: 5
    

  • round(x[, n]):返回x四舍五入到n位小数的值。

    print(round(3.14159, 2))  # 输出: 3.14
    

  • max(iterable, *[, key, default]):返回可迭代对象中的最大值。

    print(max([1, 2, 3]))  # 输出: 3
    

  • min(iterable, *[, key, default]):返回可迭代对象中的最小值。

    print(min([1, 2, 3]))  # 输出: 1
    

  • sum(iterable, /, start=0):返回可迭代对象的元素和。

    print(sum([1, 2, 3]))  # 输出: 6
    

  • divmod(a, b):返回整数除法的商和余数。

    print(divmod(10, 3))  # 输出: (3, 1)
    

  • pow(x, y[, z]):返回 x 的 y 次幂,如果 z 存在,则取模。

    print(pow(2, 3))  # 输出: 8
    print(pow(2, 3, 3))  # 输出: 2
    

3. 序列操作函数

  • len(s):返回对象的长度(元素个数)。

    print(len('hello'))  # 输出: 5
    

  • sorted(iterable, /, *, key=None, reverse=False):返回排序后的新列表。

    print(sorted([3, 1, 2]))  # 输出: [1, 2, 3]
    

  • reversed(seq):返回反转后的迭代器。

    print(list(reversed([1, 2, 3])))  # 输出: [3, 2, 1]
    

  • enumerate(iterable, start=0):返回枚举对象。

    for index, value in enumerate(['a', 'b', 'c']):
        print(index, value)
    # 输出:
    # 0 a
    # 1 b
    # 2 c
    

  • zip(*iterables):将多个迭代对象打包成一个迭代器。

    print(list(zip([1, 2, 3], ['a', 'b', 'c'])))  # 输出: [(1, 'a'), (2, 'b'), (3, 'c')]
    

  • all(iterable):如果可迭代对象的所有元素都为真,则返回 True。

    print(all([1, 2, 3]))  # 输出: True
    print(all([0, 1, 2]))  # 输出: False
    

  • any(iterable):如果可迭代对象的任意元素为真,则返回 True。

    print(any([0, 1, 2]))  # 输出: True
    print(any([0, 0, 0]))  # 输出: False
    

  • slice(start, stop[, step]):返回表示由 range(start, stop, step) 指定的切片对象。

    s = 'hello'
    print(s[slice(1, 4)])  # 输出: 'ell'
    

4. 输入输出函数

  • print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False):打印对象到文本流。

    print('Hello, World!')
    

  • input([prompt]):从标准输入接收字符串。

    name = input('Enter your name: ')
    print(f'Hello, {name}!')
    

5. 其他常用函数

  • type(object):返回对象的类型。

    print(type(42))  # 输出: <class 'int'>
    

  • isinstance(object, classinfo):判断对象是否是指定类或其子类的实例。

    print(isinstance(42, int))  # 输出: True
    

  • dir([object]):返回对象的属性和方法列表。

    print(dir([]))  # 输出: 列表对象的所有属性和方法
    

  • id(object):返回对象的唯一标识(内存地址)。

    print(id(42))  # 输出: 42在内存中的地址
    

  • help([object]):调用内置帮助系统。

    help(len)  # 输出: len函数的帮助信息
    

  • callable(object):检查对象是否可调用(如函数、方法等)。

    print(callable(len))  # 输出: True
    print(callable(42))  # 输出: False
    

  • eval(expression, globals=None, locals=None):执行表达式并返回结果。

    print(eval('2 + 2'))  # 输出: 4
    

  • exec(object[, globals[, locals]]):执行Python代码。

    code = """
    for i in range(3):
        print(i)
    """
    exec(code)
    # 输出:
    # 0
    # 1
    # 2
    

  • globals():返回全局变量的字典。

    print(globals())  # 输出: 全局变量的字典
    

  • locals():返回局部变量的字典。

    def example():
        a = 1
        print(locals())
    example()  # 输出: {'a': 1}
    

  • vars([object]):返回对象的__dict__属性。

    class Example:
        def __init__(self):
            self.a = 1
    e = Example()
    print(vars(e))  # 输出: {'a': 1}
    

6. 内置异常

Python提供了一些内置异常,用于错误处理:

  • BaseException:所有异常的基类。
  • Exception:所有内置非系统退出类异常的基类。
  • ArithmeticError:所有数值计算错误的基类。
  • BufferError:与缓冲区相关的错误的基类。
  • LookupError:所有查找错误的基类。
  • AssertionError:断言语句失败。
  • AttributeError:属性引用或赋值失败。
  • EOFError:输入文件末尾。
  • FloatingPointError:浮点计算错误。
  • GeneratorExit:生成器关闭(close()方法被调用)。
  • ImportError:导入模块/对象失败。
  • ModuleNotFoundError:找不到模块。
  • IndexError:序列中没有此索引。
  • KeyError:映射中没有此键。
  • KeyboardInterrupt:用户中断执行(通常是输入中断)。
  • MemoryError:内存溢出错误。
  • NameError:未声明/初始化对象(没有属性)。
  • NotImplementedError:尚未实现的方法。
  • OSError:操作系统错误。
  • OverflowError:数值运算结果超出可表示范围。
  • RecursionError:递归超过最大深度。
  • ReferenceError:弱引用(weak reference)试图访问已经垃圾回收的对象。
  • RuntimeError:运行时错误。
  • StopIteration:迭代器没有更多的值。
  • StopAsyncIteration:异步迭代器没有更多的值。
  • SyntaxError:Python语法错误。
  • IndentationError:缩进错误。
  • TabError:Tab和空格混用。
  • SystemError:解释器系统错误。
  • SystemExit:解释器请求退出。
  • TypeError:无效的类型操作。
  • UnboundLocalError:访问未初始化的本地变量。
  • UnicodeError:Unicode相关的错误。
  • UnicodeEncodeError:Unicode编码时的错误。
  • UnicodeDecodeError:Unicode解码时的错误。
  • UnicodeTranslateError:Unicode翻译时的错误。
  • ValueError:传入无效的参数。
  • ZeroDivisionError:除法或模除操作的第二个参数为零。

7. 总结

Python的内置函数和异常处理提供了广泛的功能,涵盖了数据类型转换、数学运算、序列操作、输入输出等多个方面。熟练掌握这些内置函数,可以极大地提高编程效率和代码质量。在实际编程中,合理使用这些内置函数和异常处理机制,可以让代码更加简洁、高效和健壮。

评论