python深入4内置函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python深入4内置函数相关的知识,希望对你有一定的参考价值。

1)all()

判断可迭代对象中是否有空或为0的对象

all(['a','b','c'])  列表list,元素都不为空或0  True
all([0,1,2,3]) 列表list,存在一个为0的元素 False
all(['',1,2])  列表list,存在空元素 False
all([])  空列表list,True

2)any()

可迭代对象中都为0时,为False

3)callable()

检查一个对象是否可调用

4)divmod()

除法.返回一个元祖(商,余数)

divmod(7,2)--->(3,1)

5)enumerate()

将可遍历的数据对象组合为一个索引序列,for循环时会输出索引和数据

>>>a = [1,2,3]
>>>for i,j in enumerate(a):
        print i,j
解析:0 1
     1 2
     2 3

6)eval()

执行一个字符串表达式,并返回表达式的值

>>>x = 7
>>>eval('3 * x')
21
解析:执行1个字符串表达式,并返回表达式的值

7)filter()

用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表

def is_old(n):
    return n % 2 == 1
newlist = filter(is_old,[1,2,3,4,5,6,7,8,9,10])
print newlist

8)isinstance()

判断一个对象是否是一个已知的类型,类似type()

**区别**

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

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

****

>>>a = 2
>>>isinstance(a,int) ----->True
>>>isinstance(a,(str,int.list))-------->True

class A:
    pass
class B(A):
    pass
    
>>>isinstance(A(),A)  
   return True
>>>ininstance(B(),A)
   return True
>>>type(B()) == A
   return False

9)reduce

对参数序列中的元素进行累积

>>>add = lambda x,y:x+y
>>>reduce(add,[1,2,3])
10
解析:add(x,y)函数必须是2个参数;reduce实际上就是对序列元素前两个先进行相加,得到的值在与第三个值相加

10)reverse()

反向排序列表中的元素

11)sorted:

sorted[iterable[,cmp][,key][,reverse]]

对可迭代对象进行排序

**和sort区别**

sorted排序会返回一个新的列表,不会影响原有的列表

**

可迭代对象
>>>a = [5,7,6,3,4,1,2]
>>>b = sorted(a)  保留原列表
[1,2,3,4,5,6,7]
-------------------------------------------------------------------------------------------
cmp比较函数
>>>l = [('a',1),('b',2),('c',3),('d',4)]
>>>sorted(l,cmp=lambda x,y:cmp(x[1],y[1]))
[('a',1),('b',2),('c',3),('d',4)]
-------------------------------------------------------------------------------------------
降序
>>>students = [('john','A',15),('jane','B',12),('dave','B',10)]
>>>sorted(students,key=lanbda s:s[2],reverse=True)

以上是关于python深入4内置函数的主要内容,如果未能解决你的问题,请参考以下文章

13 个非常有用的 Python 代码片段

Python之内置函数

Python基础之:函数

小白学习之路,基础四(函数的进阶)

python学习日记:day15:------内置函数

JavaScript——函数的深入和一些常见的内置对象