It's our wits that make us men.

python常用内置函数

Posted on By Junliang Huang

python常用内置函数

  1. abs() 函数返回数字的绝对值。

  2. divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。

  3. input() 函数接受一个标准输入数据,返回为 string 类型。

  4. open() 函数用于打开一个文件,创建一个 file 对象,相关的方法才可以调用它进行读写。

  5. sum() 方法对系列进行求和计算。

    >>> sum([1,2,3])
    6
    >>> sum([1,2,3],4) # 列表计算总和后再加 4
    10
    >>>
    
  6. eval() 函数用来执行一个字符串表达式,并返回表达式的值。

    >>> eval('pow(2,3)')
    8
    >>> eval('2*4')
    8
    
  7. range() 函数可创建一个整数列表,一般用在 for 循环中。计数到 stop 结束,但不包括 stop。

  8. isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。

  9. type() 函数如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象。

    isinstance() 与 type() 区别:

    • type() 不会认为子类是一种父类类型,不考虑继承关系。
    • isinstance() 会认为子类是一种父类类型,考虑继承关系。

    如果要判断两个类型是否相同推荐使用 isinstance()。

    >>> class A:
    ...     pass
    ...
    >>> class B(A):
    ...     pass
    ...
    >>> isinstance(A(),A)
    True
    >>> type(A()) == A
    False
    >>> isinstance(B(), A)
    True
    >>> type(B()) == A
    False
    
    • 对于基本类型来说 classinfo 可以是:

      int,float,bool,complex,str(字符串),list,dict(字典),set,tuple

    • 要注意的是,classinfo 的字符串是 str 而不是 string,字典也是简写 dict。[^1]

  10. id() 函数用于获取对象的内存地址。

  11. sorted() 函数对所有可迭代的对象进行排序操作。

    sort 与 sorted 区别:

    sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。

    list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

  12. set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

    >>> x=set('sdfgtth')
    >>> x
    set(['d', 'g', 'f', 'h', 's', 't'])
    >>> y=set([2,12,3,4,5,2,3])
    >>> y
    set([4, 2, 3, 12, 5])
    >>>
    
  13. reverse() 函数用于反向列表中元素,无参数该没有返回值,但是会对列表的元素进行反向排序。

    >>> a=[2,5,1,4]
    >>> a.reverse()
    >>> a
    [4, 1, 5, 2]
    >>>
    
  14. help() 函数用于查看函数或模块用途的详细说明,返回对象帮助信息。

  15. dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。

    >>> dir()
    ['A', 'B', '__builtins__', '__doc__', '__name__', '__package__', 'a', 'l', 'x', 'y']
    >>> dir([])
    ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
    >>>
    
  16. locals() 函数会以字典类型返回当前位置的全部局部变量。

  17. list() 方法用于将元组转换为列表。

    元组与列表是非常类似的,区别在于元组的元素值不能修改,元组是放在括号中,列表是放于方括号中。

  18. tuple() 函数将列表转换为元组。

    >>> tuple({1:2,3:4})
    (1, 3)
    >>>
    >>> tuple({'a':1,'b':2,'c':4}) #针对字典 会返回字典的key组成的tuple
    ('a', 'c', 'b')
    >>>
    
  19. str() 函数将对象转化为适于人阅读的形式,返回一个对象的string格式。

  20. dict() 函数用于创建一个字典。

    >>> dict(a=1,b=2,c=3)    # 传入关键字
    {'a': 1, 'c': 3, 'b': 2}
    >>> dict(zip(['one', 'two', 'three'], [1, 2, 3])) # 映射函数方式来构造字典
    {'three': 3, 'two': 2, 'one': 1}
    >>>
    
  21. zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

    >>> a=(1,2,3)
    >>> b=(4,5,6)
    >>> zip(a,b)
    [(1, 4), (2, 5), (3, 6)]
    >>> c=zip(a,b)
    >>> c
    [(1, 4), (2, 5), (3, 6)]
    >>> zip(*c)
    [(1, 2, 3), (4, 5, 6)]
    >>>