• Python内置函数查询表——总结篇


    Python3.5版本中的68个内置函数,按顺序逐个进行了自认为详细的解析,现在是时候进行个总结了。为了方便记忆,将这些内置函数进行了如下分类:

    •     数学运算(7个)
    •     类型转换(24个)
    •     序列操作(8个)
    •     对象操作(7个)
    •     反射操作(8个)
    •     变量操作(2个)
    •     交互操作(2个)
    •     文件操作(1个)
    •     编译执行(4个)
    •     装饰器(3个)

    数学运算

    • abs:求数值的绝对值
    • >>> abs(-2)
      2

      ♦ divmod:返回两个数值的商和余数abs:求数值的绝对值

    • >>> divmod(5,2)
      (2, 1)
      >> divmod(5.5,2)
      (2.0, 1.5)

      ♦ max:返回可迭代对象中的元素中的最大值或者所有参数的最大值

    • >>> max(1,2,3) # 传入3个参数 取3个中较大者
      3
      >>> max('1234') # 传入1个可迭代对象,取其最大元素值
      '4'
      >>> max(-1,0) # 数值默认去数值较大者
      0
      >>> max(-1,0,key = abs) # 传入了求绝对值函数,则参数都会进行求绝对值后再取较大者
      -1

      ♦ min:返回可迭代对象中的元素中的最小值或者所有参数的最小值

    • >>> min(1,2,3) # 传入3个参数 取3个中较小者
      1
      >>> min('1234') # 传入1个可迭代对象,取其最小元素值
      '1'
      >>> min(-1,-2) # 数值默认去数值较小者
      -2
      >>> min(-1,-2,key = abs)  # 传入了求绝对值函数,则参数都会进行求绝对值后再取较小者
      -1

      ♦ pow:返回两个数值的幂运算值或其与指定整数的模值

    • >>> pow(2,3)
      >>> 2**3
      
      >>> pow(2,3,5)
      >>> pow(2,3)%5

      ♦ round:对浮点数进行四舍五入求值

    • >>> round(1.1314926,1)
      1.1
      >>> round(1.1314926,5)
      1.13149

      ♦ sum:对元素类型是数值的可迭代对象中的每个元素求和

    • # 传入可迭代对象
      >>> sum((1,2,3,4))
      10
      # 元素类型必须是数值型
      >>> sum((1.5,2.5,3.5,4.5))
      12.0
      >>> sum((1,2,3,4),-10)
      0

    类型转换

      ♦bool:根据传入的参数的逻辑值创建一个新的布尔值

    >>> bool() #未传入参数
    False
    >>> bool(0) #数值0、空序列等值为False
    False
    >>> bool(1)
    True

      ♦ int:根据传入的参数创建一个新的整数

    >>> int() #不传入参数时,得到结果0。
    0
    >>> int(3)
    3
    >>> int(3.6)
    3

      ♦ float:根据传入的参数创建一个新的浮点数

    >>> float() #不提供参数的时候,返回0.0
    0.0
    >>> float(3)
    3.0
    >>> float('3')
    3.0

      ♦ complex:根据传入参数创建一个新的复数

    >>> complex() #当两个参数都不提供时,返回复数 0j。
    0j
    >>> complex('1+2j') #传入字符串创建复数
    (1+2j)
    >>> complex(1,2) #传入数值创建复数
    (1+2j)

      ♦ str:返回一个对象的字符串表现形式(给用户)

    >>> str()
    ''
    >>> str(None)
    'None'
    >>> str('abc')
    'abc'
    >>> str(123)
    '123'

      ♦ bytearray:根据传入的参数创建一个新的字节数组

    >>> bytearray('中文','utf-8')
    bytearray(b'xe4xb8xadxe6x96x87')

      ♦ bytes:根据传入的参数创建一个新的不可变字节数组

    >>> bytes('中文','utf-8')
    b'xe4xb8xadxe6x96x87'

      ♦ memoryview:根据传入的参数创建一个新的内存查看对象

    >>> v = memoryview(b'abcefg')
    >>> v[1]
    98
    >>> v[-1]
    103

      ♦ ord:返回Unicode字符对应的整数

    >>> ord('a')
    97

      ♦ chr:返回整数所对应的Unicode字符

    >>> chr(97) #参数类型为整数
    'a'

      ♦ bin:将整数转换成2进制字符串

    >>> bin(3) 
    '0b11'

      ♦ oct:将整数转化成8进制数字符串

    >>> oct(10)
    '0o12'

      ♦ hex:将整数转换成16进制字符串

    >>> hex(15)
    '0xf'

      ♦ tuple:根据传入的参数创建一个新的元组

    >>> tuple() #不传入参数,创建空元组
    ()
    >>> tuple('121') #传入可迭代对象。使用其元素创建新的元组
    ('1', '2', '1'

      ♦ list:根据传入的参数创建一个新的列表

    >>>list() # 不传入参数,创建空列表
    [] 
    >>> list('abcd') # 传入可迭代对象,使用其元素创建新的列表
    ['a', 'b', 'c', 'd']

      ♦ dict:根据传入的参数创建一个新的字典

    >>> dict() # 不传入任何参数时,返回空字典。
    {}
    >>> dict(a = 1,b = 2) #  可以传入键值对创建字典。
    {'b': 2, 'a': 1}
    >>> dict(zip(['a','b'],[1,2])) # 可以传入映射函数创建字典。
    {'b': 2, 'a': 1}
    >>> dict((('a',1),('b',2))) # 可以传入可迭代对象创建字典。
    {'b': 2, 'a': 1}

      ♦ set:根据传入的参数创建一个新的集合

    >>>set() # 不传入参数,创建空集合
    set()
    >>> a = set(range(10)) # 传入可迭代对象,创建集合
    >>> a
    {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

      ♦ frozenset:根据传入的参数创建一个新的不可变集合

    >>> a = frozenset(range(10))
    >>> a
    frozenset({0, 1, 2, 3, 4, 5, 6, 7, 8, 9})

      ♦ enumerate:根据可迭代对象创建枚举对象

    >>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
    >>> list(enumerate(seasons))
    [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
    >>> list(enumerate(seasons, start=1)) #指定起始值
    [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

      ♦ range:根据传入的参数创建一个新的range对象

    >>> a = range(10)
    >>> b = range(1,10)
    >>> c = range(1,10,3)
    >>> a,b,c # 分别输出a,b,c
    (range(0, 10), range(1, 10), range(1, 10, 3))
    >>> list(a),list(b),list(c) # 分别输出a,b,c的元素
    ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7, 8, 9], [1, 4, 7])
    >>>

      ♦ iter:根据传入的参数创建一个新的可迭代对象

    >>> a = iter('abcd') #字符串序列
    >>> a
    <str_iterator object at 0x03FB4FB0>
    >>> next(a)
    'a'
    >>> next(a)
    'b'
    >>> next(a)
    'c'
    >>> next(a)
    'd'
    >>> next(a)
    Traceback (most recent call last):
      File "<pyshell#29>", line 1, in <module>
        next(a)
    StopIteration

      ♦ slice:根据传入的参数创建一个新的切片对象

    >>> c1 = slice(5) # 定义c1
    >>> c1
    slice(None, 5, None)
    >>> c2 = slice(2,5) # 定义c2
    >>> c2
    slice(2, 5, None)
    >>> c3 = slice(1,10,3) # 定义c3
    >>> c3
    slice(1, 10, 3)

      ♦ super:根据传入的参数创建一个新的子类和父类关系的代理对象

    #定义父类A
    >>> class A(object):
        def __init__(self):
            print('A.__init__')
    
    #定义子类B,继承A
    >>> class B(A):
        def __init__(self):
            print('B.__init__')
            super().__init__()
    
    #super调用父类方法
    >>> b = B()
    B.__init__
    A.__init__
    复制代码

      ♦ object:创建一个新的object对象

    >>> a = object()
    >>> a.name = 'kim' # 不能设置属性
    Traceback (most recent call last):
      File "<pyshell#9>", line 1, in <module>
        a.name = 'kim'
    AttributeError: 'object' object has no attribute 'name'

    序列操作

    未完待续。。。。。。。

  • 相关阅读:
    1114: 零起点学算法21——求平均值
    1113: 零起点学算法20——输出特殊值II
    1112: 零起点学算法19——输出特殊值
    1111: 零起点学算法18——3个数比较大小
    1110: 零起点学算法17——比较2个数大小
    1109: 零起点学算法16——鸡兔同笼
    1108: 零起点学算法15——交换变量
    1107: 零起点学算法14——三位数反转
    1106: 零起点学算法13——求2个时间之间的分钟数
    设计模式之—中介者模式<Mediator Pattern>
  • 原文地址:https://www.cnblogs.com/insane-Mr-Li/p/9063756.html
Copyright © 2020-2023  润新知