day③: python 内置函数


all():全部为真,才为真。
any(): 其中一个为真,就为真
bin():表示二进制
bytearray(): 转化为字节数组(py3)
byte():转化为字节字符串(py3)
callable(): 检查对象object是否可调用.
ord():ASCII码转数字
chr():数字转ASCII码
dir(): 返回任意对象的属性和方法列表
input(): 期望用户输入的是一个有效的表达式
raw_input(): 将用户的输入包装成一个字符串
hex():转化为16进制
help(sys) # 交互式帮助
int(obj) # 转型为整形
str(obj) # 转为字符串
len(obj) # 返回对象或序列长度
oct():8进制
open(file,mode) # 打开文件 #mode (r 读,w 写, a追加)
range(0,3) # 返回一个整形列表
raw_input("str:") # 等待用户输入
type(obj) # 返回对象类型
abs(-22) # 绝对值
random # 随机数
choice() # 随机返回给定序列的一个元素
divmod(x,y) # 函数完成除法运算,返回商和余数。
round(x[,n]) # 函数返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数
strip() # 是去掉字符串两端多于空格,该句是去除序列中的所有字串两端多余的空格
del # 删除列表里面的数据
cmp(x,y) # 比较两个对象 #根据比较结果返回一个整数,如果x<y,则返回-1;如果x>y,则返回1,如果x==y则返回0
max() # 字符串中最大的字符
min() # 字符串中最小的字符
sorted() # 对序列排序
reversed() # 对序列倒序
enumerate() # 返回索引位置和对应的值
sum() # 总和
super(): 通过子类访问父类的方法
list() # 变成列表可用于迭代
eval('3+4') # 将字符串当表达式求值 得到7
exec 'a=100' # 将字符串按python语句执行
exec(a+'=new') # 将变量a的值作为新的变量
tuple() # 变成元组可用于迭代 #一旦初始化便不能更改的数据结构,速度比list快
zip(s,t) # 返回一个合并后的列表  s = ['11','22'] t = ['aa','bb']   结果: [('11', 'aa'), ('22', 'bb')]
isinstance(object,int) # 测试对象类型 int 
xrange([lower,]stop[,step]) # 函数与range()类似,但xrnage()并不创建列表,而是返回一个xrange对象

(1)lambda 
简单函数的表示方式
  1. #普通函数
  2. def func(arg):
  3. return arg + 1
  4. result= func(123)
  5. print result
  6. print(" ")
  7. #lambda
  8. my_lambda = lambda arg:arg + 1
  9. result = my_lambda(123)
  10. print result
  11. 结果:
  12. 124
  13. 124


(2) map
map(...)
    map(function, sequence[, sequence, ...]) -> list
#遍历序列,对序列中每个元素进行操作,最终获取新的序列。
# 将函数func作用于给定序列(s)的每个元素,并用一个列表来提供返回值;如果func为None,func表现为一个身份函数,返回一个含有每个序列中元素集合的n个元组的列表

例子:
  1. #每个元素增加100
  2. li=[11,22,33]
  3. new_list=map(lambda a:a+100,li)
  4. print new_list
  5. print ""
  6. #两个列表对应元素相加
  7. li=[11,22,33]
  8. sl=[1,2,3]
  9. new_list=map(lambda a,b:a+b,li,sl)
  10. print new_list
  11. print ""
  12. ##
  13. def cube(x): return x*x*x
  14. range(1,11)
  15. print map(cube,range(1,11))
  16. #结果
  17. [111, 122, 133]
  18. [12, 24, 36]
  19. [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]


(3)filter
filter(...)
    filter(function or None, sequence) -> list, tuple, or string
#对于序列中的元素进行筛选,最终获取符合条件的序列
#调用一个布尔函数func来迭代遍历每个seq中的元素;返回一个使func返回值为true的元素的序列

例子:
  1. #获取列表中大于12的所有元素集合
  2. li=[11,22,33,1,34,5,63,40]
  3. new_list=filter(lambda arg:arg>22,li)
  4. print new_list
  5. print ""

  6. #获取列表中可以被2和3整除的所有元素集合
  7. f=lambda x:x%2 ==0 and x%3 ==0
  8. print filter(f,range(2,25))
  9. 结果:
  10. [33, 34, 63, 40]
  11. [6, 12, 18, 24]


(4)reduce
reduce(...)
    reduce(function, sequence[, initial]) -> value
#对于序列内所有元素进行累计操作
#将二元函数作用于seq序列的元素,每次携带一堆(先前的结果以及下一个序列元素),连续地将现有的结果和下一个值作用在获得的随后的结果上,最后减少我们的序列为一个单一的返回值;如果初始值init给定,第一个比较会是init和第一个序列元素而不是序列的头两个元素

例子:
  1. result=reduce(lambda x,y:x+y,range(1,11))
  2. print result
  3. #结果
  4. 55




end




原文地址:https://www.cnblogs.com/binhy0428/p/b8e99558cc807b2cfd6505640a1764a2.html