Python系列-python内置函数

发布时间:2019-09-19 08:02:35编辑:auto阅读(1595)

    本文转载自:http://www.javaxxz.com/thread-359303-1-1.html


    abs(x)

    返回数字的绝对值,参数可以是整数、也可以是浮点数。如果是复数,则返回它的大小

    all(iterable)

    对参数中的所有元素进行迭代,如果所有的元素都是True,则返回True,函数等价于

    [python]  view plain  copy

    1. def any(iterable):  

    2.     for element in iterable:  

    3.         if element:  

    4.             return True  

    5.     return False  

    any(iterable)

    对参数中的所有元素进行迭代判断,只要一个元素为真,函数返回True。函数等价于

    [python]  view plain  copy

    1. def any(iterable):  

    2.     for element in iterable:  

    3.         if element:  

    4.             return True  

    5.     return False  

    assert

    断言, 该函数属于一个单元运算的表达式。类似于lambda。但功能与 if...not类似。如果你能确定你的表达式一定为真可以使用。如果表达式为假则返回一个 AssertionError 错误

    程序立即中断

    [python]  view plain  copy

    1. a = 1  

    2. assert a >= 1"Error value"  

    3. print("OK")  

    4. 结果:  

    5. OK  

    [python]  view plain  copy

    1. a = 1  

    2. assert a >= 2"错啦!"  

    3. print("OK")  

    4. 结果:  

    5. AssertionError: 错啦!     print()函数不会执行  


    bin(x)

    将一个十进制数转换为一个二进制字符串. 

    bool([x])

    对列表[x]中的所有值进行bool判断,当列表中所有的元素都为True时则返回True,否则返回False,能返回False的值类型有:‘’,None,0,(),[],{}。与all()函数类似

    [python]  view plain  copy

    1. print(bool(['a',1,2.4]))  # True  

    2. print(bool(None))  # False  

    3. print(bool(()))  # False  

    4. print(bool([]))  # False  

    5. print(bool({}))  # False  

    6. print(bool(''))  # False  

    7. print(bool(0))   # False  

    callable(object)

    检查对象object是否可调用,可以被调用返回True,否则返回False:1、函数、类是可以被调用的;2、实例是不可以被调用的,除非类中声明了__call__方法 

    [python]  view plain  copy

    1. def func1():  

    2.     print('a')  

    3. a = '123'  

    4. print(callable(a))  # False  

    5. print(callable(func1))  # True  

    divmod(x,y)

    返回x/y的商和余数,结果为元组类型

    [python]  view plain  copy

    1. print(divmod(5,3))  # (1, 2)  

    ord(c)

    返回字符c的ASCII码,x为字符,返回数字型

    [python]  view plain  copy

    1. print(ord('a'))  # 97  

    chr(x)

    返回ASCII码x对应的字符, x 为整型,返回字符

    [python]  view plain  copy

    1. print(chr(97))   # 'a'  


    classmethod(function)

    在定义的类中为函数返回一个类方法,主要功能:1、注解,用来说明这个方式是个类方法;2、类方法即可被类调用,也可以被实例调用;3、类方法类似于Java中的static方法;4、类方法中不需要有self参数

     enumerate(iterable, start=0)

     返回一个可枚举的对象。该对象的next()方法将返回一个tuple.start为开始的序号默认从0开始。或者也可以通过list 或 tuple来转换


    [python]  view plain  copy

    1. print(list(enumerate(('aa','bb','cc'),start=2)))  


    等价于



    [python]  view plain  copy

    1. def enumerate(sequence, start=0):  

    2.     n = start  

    3.     for elem in sequence:  

    4.         yield n, elem  

    5.         n += 1  


    eval(expression)

    计算表达式expression的值

    lambda

    lambda并不是python的内置函数,而是一个函数表达式

    [python]  view plain  copy

    1. f_lam = lambda x: x * 2  

    2. print(f_lam(10))  # 20  

    map(function, iterable, ...)

    将传入的列表中的每个值进行一次函数运算,python3.x中返回的为 <map object at 0x006AFA30>对象,要获取值需要用list 或 tuple转换 

    [python]  view plain  copy

    1. li = (1234)  

    2. f_map = map(lambda x: x + 3, li)  

    3. print(f_map)          # python2.x结果[4, 5, 6, 7]  

    4. print(list(f_map))    # python3.x结果[4, 5, 6, 7]  

    max(iterable, *[, key, default])

    对一个列表或元素的数据进行迭代,返回最大值.可以通过制定函数来判断

    [python]  view plain  copy

    1. def func(i):  

    2.     t = divmod(i,3)  

    3.     return t[1]  

    4.   

    5. li = (1,5,3,2,9,19,24)  

    6. print(max(li))             # 24  

    7. print(max(li,key=func))    # 5 对li中的数据进行取模后的最大值  

    max(iterable, *[, key, default])

    与max()类似,取最小值

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

    对参数中的元素进行排序,默认从小到大排序。可以指定排序计算方法key=function,是否倒序排列reverse=True

    [python]  view plain  copy

    1. def func(i):  

    2.     t = divmod(i,3)  

    3.     return t[1]  

    4.   

    5. li = (1,5,3,2,9,19,24)  

    6. print(sorted(li))  

    7. # [1, 2, 3, 5, 9, 19, 24]  

    8. print(sorted(li,reverse=True))  

    9. # [24, 19, 9, 5, 3, 2, 1]  

    10. print(sorted(li,key=func))  

    11. # [3, 9, 24, 1, 19, 5, 2]  

    12. print(sorted(li,key=func,reverse=True))  

    13. # [5, 2, 1, 19, 3, 9, 24]  

    filter(function, iterable)

    和map的执行方式一样,对于一个迭代器iterable的元素进行function计算,将计算的结果进行过滤,符合表达式结果的才返回.在python3.x中返回的结果为<filter object at 0x021CA610>对象,要获取值需要用list 或 tuple转换。

    [python]  view plain  copy

    1. f_filter = filter(lambda x: x > 30, map(lambda y: y * 10, li))  

    2. print(f_filter)         # python2.x结果[40]  

    3. print(list(f_filter))   # python3.x结果[40]  

    zip(*iterables)

    将两个元组或列表的值进行合并成一个新的列表. 

    [python]  view plain  copy

    1. a = (123)  

    2. y = [6,7,8]  

    3. # print(zip(a, y))  # [(1, 6), (2, 7), (3, 8)]  

    isinstance

    isinstance(obj,obj2)  返回obj对象是不是由obj2创建的,或者 obj对象是 obj2 对象的基类创建的

    [python]  view plain  copy

    1. a = 1  

    2. print(isinstance(a,int)) # True  

    3. class A(object):  

    4.     pass  

    5.   

    6. class B(A):  

    7.     pass  

    8.   

    9. b = B()  

    10. print(isinstance(b, B))  # True  

    11. print(isinstance(b, A))  # True  

    issubclass

    issubclass(C,B)  判断类C是不是类B的子类

    [python]  view plain  copy

    1. class A(object):  

    2.     pass  

    3.   

    4. class B(A):  

    5.     pass  

    6.   

    7. print(issubclass(B,A))  

    8. print(issubclass(A,object))  


关键字