云深处 发表于 2018-8-10 11:39:01

【python深入4】内置函数

  1)all()
  判断可迭代对象中是否有空或为0的对象
all(['a','b','c'])列表list,元素都不为空或0True  
all() 列表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 =   
>>>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()
  用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表
is_old=lambda x:x%2 == 1  
filter(is_old,)
  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,)
  
10
  
解析:add(x,y)函数必须是2个参数;reduce实际上就是对序列元素前两个先进行相加,得到的值在与第三个值相加
  10)reverse()
  反向排序列表中的元素
  11)sorted:
  sorted[,key][,reverse]]
  对可迭代对象进行排序
  **和sort区别**
  sorted排序会返回一个新的列表,不会影响原有的列表
  **
可迭代对象  
>>>a =
  
>>>b = sorted(a)保留原列表
  

  
-------------------------------------------------------------------------------------------
  
cmp比较函数
  
>>>l = [('a',1),('b',2),('c',3),('d',4)]
  
>>>sorted(l,cmp=lambda x,y:cmp(x,y))
  
[('a',1),('b',2),('c',3),('d',4)]
  
-------------------------------------------------------------------------------------------
  
降序
  
>>>students = [('john','A',15),('jane','B',12),('dave','B',10)]
  
>>>sorted(students,key=lambda s:s,reverse=True)
页: [1]
查看完整版本: 【python深入4】内置函数