zoukankan      html  css  js  c++  java
  • 内置函数

    一、常见内置函数

    https://docs.python.org/3/library/functions.html

    二、计算类

    1、abs(x)

    取绝对值

    >>> abs(-10)
    10
    

    2、all(iterable)  

    如果这个可迭代的元素都为真,则返回真(非0的就为真,负数也是为真)

    >>> all([2,3,1,0])
    False
    >>> all([2,3,1])
    True
    >>> all([2,3,-1])
    True
    

    3、any(iterable)

    可迭代的元素中,有一个为真,则返回真,空列表返回假。 

    >>> any([])
    False
    >>> any([0])
    False
    >>> any([2,4])
    True
    

    4、bool([x])

    功能:返回一个布尔值,空列表为假,不为空为真

    >>> bool([])
    False
    >>> bool([6,7])
    True
    

    5、divmod(a,b)

    功能:地板除,获得一个元组,元组第一个元素是商,第二个元素是余数。

    >>> divmod(4,3)
    (1, 1)
    >>> divmod(5,3)
    (1, 2)
    #1是商,2是余数
    

    6、map(functioniterable)

    功能:对传入的每一个值进行处理,处理完了再返回,再把原来的结果覆盖掉。

    >>> b=map(lambda n:n*2,range(5))
    >>> b
    <map object at 0x1033c9a58>
    >>> for i in b:
    ...     print(i)
    ... 
    0
    2
    4
    6
    8
    

     7、reduce(function,iterable)

    功能:把一组可迭代序列通过function函数操作,元素之间相加或者相乘操作。 

    >>> from functools import reduce
    >>> res=reduce(lambda x,y:x+y,range(10))
    >>> res
    45
    

    8、len(s)

    功能:计算序列或者字符串的长度

    >>> len('bianbain')
    8
    >>> len(list((1,2,3,5,3,)))
    5
    

    9、max(iterable*[, keydefault])

    功能:返回列表重点额最大值

    >>> max([1,2,4,54,23])
    54
    

    10、min(iterable*[, keydefault])

    功能:返回列表中的最小值

    >>> min([1,2,4,54,23])
    1
    

      

      

    三、数据类型转换类

    1、ascii(object)

    把内存对象变成一个可打印的字符串格式

    >>> ascii([1,2,34,4])
    '[1, 2, 34, 4]'
    

    2、bin(x)

    把一个整数转换成二进制

    >>> bin(80)
    '0b1010000'
    

    3、bytes([source[, encoding[, errors]]])

    把字符串转换成字节

    >>> a = bytes("mnop",encoding="utf-8")
    >>> a
    b'mnop'
    >>> a[0]
    109
    >>> a[0]=w
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    NameError: name 'w' is not defined

     注:(1)可以访问到字符对应的ASCII值

             (2)bytes声明的字符串不可以修改里面的值

       4、bytearray[source[, encoding[, errors]]]

    功能:字节数组,并且可以修改二进制的字节

    >>> b = bytearray("abcd",encoding="utf-8")
    >>> b
    bytearray(b'abcd')
    >>> b[1]
    98
    >>> b[1]=100
    >>> b[1]
    100
    

     5、dict(**kwarg)、dict(mapping**kwarg)、dict(iterable**kwarg)

    功能:返回一个字典

    >>> dict()
    {}
    >>> dict(name='bianbian',age=18,love='pengpeng')
    {'name': 'bianbian', 'age': 18, 'love': 'pengpeng'}
    >>> dict([('name','bianbian'),('age',18),('love','pengpeng')])
    {'name': 'bianbian', 'age': 18, 'love': 'pengpeng'}
    >>> dict([['name','bianbian'],['age',18],['love','pengpeng']])
    {'name': 'bianbian', 'age': 18, 'love': 'pengpeng'}
    

    6、exec(object[, globals[, locals]])

    功能:有语句的和复杂的语句的字符串转换成表达式???

     

    code = '''def timmer(func): #timmer(test) func=test
        def fex(*args,**kwargs):#传入非固定参数
            res=func(*args,**kwargs) #传入非固定参数
            return res
        return fex
    
    #不带参数
    @timmer
    def test1(): # 相当于test1 = timmer(test1)
        print("in the test1")
        return "from the test1"  # 执行函数test1有返回值
    res = test1()
    print(res)
    '''
    exec(code)
    
    #结果
    in the test1
    from the test1
    

    7、filter(functioniterable)

    功能:通过function过滤条件,去获取iterable中你想要的数据。

    >>> a = filter(lambda n:n>5,range(10))
    >>> a
    <filter object at 0x1033f4320>
    >>> for i in a:
    ...     print(i)
    ... 
    6
    7
    8
    9
    

     8、float([x])

    功能:把一个浮点类型的字符串转换为浮点类型的数据。

    >>> float('0.372')
    0.372
    >>> float('+0.372')
    0.372
    >>> float(' -319')
    -319.0
    >>> float('+1E6')
    1000000.0
    

     9、frozenset([iterable])

    功能:把集合变成一个不可变的集合

    >>> res=frozenset([1,2,3,4,5,1])
    >>> res
    frozenset({1, 2, 3, 4, 5}) #去重的,不可变的集合
    >>> dir(res) #没有可变的方法
    ['__and__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'copy', 'difference', 'intersection', 'isdisjoint', 'issubset', 'issuperset', 'symmetric_difference', 'union']

    10、hex(x)

    功能:把一个数字转成16进制

    >>> hex(2728)
    '0xaa8'
    

    11、int(x)

    功能:把其他数据类型强制转换成int类型

    >>> int(a)
    180
    >>> int(10.4)
    10
    

    12、iter(object[, sentinel])

    功能:把一个普通序列转成迭代器

    13、list([iterable])

    功能:把其他序列转换成一个列表

    >>> list((1,2,3,5,3,))
    [1, 2, 3, 5, 3]
    

    14、oct(x)

    功能:把一个数转成8进制

    >>> oct(10)
    '0o12'
    >>> oct(100)
    '0o144'

    15、round(number[, ndigits])

    功能:保留float数据类型位数

    >>> round(1.43499,3)
    1.435
    

    16、str(object)

    功能:把其他数据类型转换为字符串

    >>> str(1)
    '1'
    

    17、

    tuple([iterable])

    功能:把其他序列转换为一个元组

    >>> tuple([1,43,5,6])
    (1, 43, 5, 6)
    

      

      

      

     

      

    四、判断类

    1、callable(object)

    功能:判断一个对象是否可以被调用,只有在后面有括号的,表示可以调用,比如:函数,类。

    >>> callable([])
    False
    >>> def test():pass
    ... 
    >>> callable(test)
    True
    

    2、chr(i)

    功能:通过ascii的值,找到对应的字符

    >>> b = bytearray("abcd",encoding="utf-8")
    >>> b
    bytearray(b'abcd')
    >>> b[1]=100
    >>> b[1]
    100
    >>> chr(100)
    'd'
    

    3、ord(c)

    功能:根据字符,找到对应的ascii值

    >>> b = bytearray("abcd",encoding="utf-8")
    >>> b
    bytearray(b'abcd')
    >>> b[1]=100
    >>> ord('d')
    100
    

    4、dir([object])

    功能:看一个对象有哪些方法

    >>> name=[]
    >>> dir(name)
    ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
    

    5、enumerate(iterable,start=0)

    功能:遍历一个可迭代对象,获取索引和对应的元素的值

    >>> a=['a','b','c','d']
    >>> list(enumerate(a))
    [(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]
    >>> list(enumerate(a,start=2))
    [(2, 'a'), (3, 'b'), (4, 'c'), (5, 'd')]
    

    6、globals()

    功能:返回当前这个python文件中的所有变量的key-value,变量是key,值是value

    可以判断一个文件中的变量是否存在,而globals()只能打印全局变量 

    >>> print(globals())
    {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, 'a': <filter object at 0x1033f4320>, 'i': 8, 'b': <map object at 0x1033c9a58>, 'reduce': <built-in function reduce>, 'res': frozenset({1, 2, 3, 4, 5})}
    

     7、hash(object)

    功能:反射出一个对象的对应的hash值。

    >>> hash('bianbian')
    2624987259895593164
    >>> hash('18')
    -5605491781378490538
    >>> hash('a')
    7709350130933621133
    

     

    看上图,试想一张表中5百万个用户信息,只能用for循环去查找,那样的话,效率会很低。

    可以把每一个姓名对应的值,然后通过对应的key值去定位,key值是放在一个列表中,当我们去查找某个key值时,可以折半查找,这样大大减少了查找时间,提高效率,这种也叫二分法查找。

     五、其他

    1、help([object])

    功能:显示对象的帮助信息

    2、id(object)

    功能:返回对象的内存地址

    >>> a=180
    >>> id(a)
    4425784016
    

    3、input([prompt])

    功能:输入字符串

    4、isinstance(objectclassinfo)

    功能:这个在迭代器中使用

    5、locals()

    功能:打印局部变量

    def test():
        local_var=19302
        print(locals())
    test()
    print(globals().get("locals_var"))
    #结果 
    {'local_var': 19302}
    None

    6、next(iterator[, default])

    功能:返回迭代器的下一个值,相当于__next__()方法,如果迭代最后一个数据之后没有值了,则会抛出一个StopIteration异常

    >>> a=iter([1,2])
    >>> next(a)
    1
    >>> next(a)
    2
    >>> next(a)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    StopIteration
    

    7、object

    功能:python中一切皆对象,每一个对象都有它的属性和方法

     8、open(filemode='r'buffering=-1encoding=Noneerrors=Nonenewline=Noneclosefd=Trueopener=None)

    功能:文件操作

    9、print(*objectssep=' 'end=' 'file=sys.stdoutflush=False)

    功能:打印

    10、range(stop)、range(startstop[, step])

    功能:生成一个迭代器

    >>> range(5)
    range(0, 5)
    >>> range(1,5)
    range(1, 5)
    >>> range(1,5,3)
    range(1, 5, 3)
    

    10、reversed(seq)

    功能:反转一个序列,跟列表中的reversed方法是一样的

    >>> reversed([1,3,5,6])
    <list_reverseiterator object at 0x10807e3c8>
    >>> for i in reversed([1,3,5,6]):
    ...     print(i)
    ... 
    6
    5
    3
    1
    

    11、slice(stop),slice(startstop[, step])

    功能:序列的切片

    >>> a=[1,4,5,56,7,3]
    
    >>> a[slice(1,3)]
    [4, 5]
    >>> a[1:3]
    [4, 5] 

    12、sorted(iterable[, key][, reverse])

    功能:对一个序列进行排序

    >>> sorted([5,7,3,64,132,34,1])
    [1, 3, 5, 7, 34, 64, 132]
    >>> a={1:2,4:5,6:7}
    >>> sorted(a) #默认是按key排序
    [1, 4, 6]
    >>> b={'a':2,'b':5,'c':7} 
    >>> sorted(b) #按key排序
    ['a', 'b', 'c']
    >>> sorted(b.items())
    [('a', 2), ('b', 5), ('c', 7)]
    >>> sorted(b.items(),key = lambda x:x[1]) #按value排序
    [('a', 2), ('b', 5), ('c', 7)]
    

      

     

    13、type(object) 、type(namebasesdict)

    功能:查看一个对象的数据类型

    14、vars([object])

    功能:返回对象的所有属性

    15、zip(*iterables)

    功能:zip中文意思是拉链的意思,把两个序列一一对应起来

    如果a的元素比b的多,则按照元素最少的那个来

    >>> a=[1,3,4,5]
    >>> b=['a','b','c','d']
    >>> for i in zip(a,b):
    ...     print(i)
    ... 
    (1, 'a')
    (3, 'b')
    (4, 'c')
    (5, 'd')
    

     16、

    __import__(nameglobals=Nonelocals=Nonefromlist=()level=0)

    功能:当导入的模块是一个字符串时,用__import__()

    >>> import os
    >>> __import__('os') 
    <module 'os' from '/Users/bianbian/anaconda3/lib/python3.7/os.py'>
    

      

     
  • 相关阅读:
    【转载】 HTTP 中 GET 与 POST 的区别
    JS 浏览器cookie的设置,读取,删除
    JS Event事件流(冒泡机制、捕获机制、事件绑定)
    DOM节点树和元素树--深度遍历
    Html_Task4(知识点:水平居中+垂直居中/position/float/border-radius)
    百度前端技术学院—斌斌学院题库
    百度前端技术学院—-小薇学院(HTML+CSS课程任务)
    js正则表达式
    js设计模式(一)发布订阅模式
    vue学习笔记(一)——利用vue-cli搭建一个前端项目
  • 原文地址:https://www.cnblogs.com/bianfengjie/p/10846508.html
Copyright © 2011-2022 走看看