python/匿名函数和内置函数
1 匿名函数
匿名函数是lambda定义的没有名字的具有一些小功能的函数 具体形式是
lambda 参数列表:返回值表达式
lambda x: X**2
# 求平方操作
lambda x: x>100
# 判断参数是否大于100
2 内置函数
1) int(), float(), bool(), str(), list(), set(), tuple() 和 dict() 这些都是和类型相关的函数 这些叫做 工厂函数 2) map(), reduce() 和 filter() map()函数有两个参数, 一个是处理函数, 另一个是可迭代对象, map取出可迭代对象的元素, 进行前面的函数操作, 形成新的迭代器的元素, 最终返回该迭代器
>>> l = [1,2,3,4,5]
>>> m = map( lambda x:x*x, l)
>>> m
<map object="" at="" 0x0000000003200240="">
>>> list(m)
[1, 4, 9, 16, 25]
</map>
reduce()函数性质同map()函数, 只是传入的函数需要设置两个参数, 具体功能是每次取迭代器中的两个元素,放入函数操作, 下次取出一个值和上一次运行的结果继续在函数中运行, 最后得到一个值并且返回
>>> from functools import reduce
>>> l = range(100)
>>> sumValue = reduce(lambda x,y:x+y, l)
>>> sumValue
4950
fileter()函数用于过滤, 和map()类似取一个元素放入函数中运行, 如果运行结果为True则放入生成器中, 否则不放入, 最后返回这个生成器
nameDict = [
{'name':'egon','age':18},
{'name':'dfire','age':1000},
{'name':'gaoluchuan','age':9000},
{'name':'fsw','age':10000},
]
filter(lambda x:x['age']>100,nameDict)
3) zip() 拉链函数, 用于将参数中的可迭代对象的元素组个弄出来匹配成一个一个的元组
d={"a":1203,"b":4568,"c":1425}
for i in zip(d.keys(), d.values()):
print(i)
4) abs() abs是求绝对值的
>>> abs(-1)
1
>>> abs(1)
1
>>> abs(0)
0
5) all() 和 any() all函数传入一个可迭代对象, 分别遍历其中的元素, 并且进行bool值判断, 如果有一个值为False就返回False, 只有全部为True才返回True 当all的参数是空的可迭代对象的时候返回True any()函数情况与all()相反, any()中传入空的可迭代对象值为False, 一个值为True就是True, 全部为False才为False
>>> all([])
True
>>> all([1,2,3])
True
>>> all([1,2,3,None])
False
6) bin(), oct(), hex() 返回二进制, 八进制, 十六进制
>>> bin(10)
'0b1010'
7) callable() 判断该对象是否可以被调用
>>> def hello():
print("hello") >>> callable(hello)
True
8) chr() 将字符编码(数字)转化为字符
>>> chr(67)
'C'
9) ord() 与chr()对应, 将字符转化为编码
>>> ord('a')
97
10) complex() 生成复数的函数
>>> i = complex(2-4j)
>>> i.real
2.0
>>> i.imag
-4.0
11) dir() 查看该对象中的成员内容 12) divmod() 传入两个参数, 返回一个元组, 该元组有两个值, 一个是商, 一个是余数
>>> divmod(10,3)
(3, 1)
>>> divmod(15,5)
(3, 0)
13) enumerate() 传入一个可迭代对象, 返回索引和元素组成的元组
>>> for i in enumerate([4,6,7,8,12]):
print(i) (0, 4)
(1, 6)
(2, 7)
(3, 8)
(4, 12)
>>> for i in enumerate([4,6,7,8,12],10):
print(i) (10, 4)
(11, 6)
(12, 7)
(13, 8)
(14, 12)
14) eval() 获取传入的字符串, 把他当成命令执行
>>> l = eval("[1,2,3,4]")
>>> l
[1, 2, 3, 4]
15) hansh() 根据传入的值生成哈希值
>>> hash(1234344)
1234344
>>> hash("shdaiohdsh")
64688500983994519
16) id() 获得对象的身份(一般说是内存地址)
>>> a = 100
>>> id(a)
502009392
>>> b = 100
>>> id(b)
502009392
17) isinstance() 判断对象是不是某种类型的
>>> a = 100
>>> isinstance(a,int)
True
>>> isinstance(a,(int,float))
True
18) iter() 和 next() iter获取可迭代对象的迭代器
>>> l = [1,2,3,4]
>>> iter(l)
<list_iterator object="" at="" 0x0000000003265828="">
</list_iterator>
next是根据迭代器生成一个值
>>> l = [1,2,3,4]
>>> iter(l)
<list_iterator object="" at="" 0x00000000030eab70="">
>>> ll = iter(l)
>>> next(ll)
1
>>> next(ll)
2</list_iterator
19) len() 获得对象的长度
>>> len("hello")
5
>>> len([1,2,3])
3
20) locals() 和 globals() 这是获取局部变量和全局变量的函数
>>> def f():
j = 2
print(locals()) >>> f()
{'j': 2}
>>> globals()
{'f': <function f="" at="" 0x0000000000d40378="">, '__builtins__': <module 'builtins'="" (built-in)="">, '__package__': None, '__doc__': None, 'x': 1, 'y': 'xx', '__name__': '__main__', '__spec__': None, '__loader__': <class '_frozen_importlib.builtinimporter'="">}
</class></module></function>
21) max() 和 min() 求最大值和最小值
d={"a":1203,"b":4568,"c":1425}
def get_value(k):
return d[k]
print( max(d, key=get_value ) )
print( min(d, key= lambda k:d[k] ) )
22) open() 打开文件 23) pow() 求次方, 第一个参数是底数,第二个是指数, 加入第三个参数就是对其结果求余
>>> pow(2,3)
8
>>> pow(2,3,3)
2
24) reversed() 颠倒序列
>>> l = [2,8,5,6,9]
>>> reversed(l)
<list_reverseiterator object="" at="" 0x00000000030eab00="">
>>> list(reversed(l))
[9, 6, 5, 8, 2]
</list_reverseiterator>
25) slice() 切片函数 26) sorted() 排序序列
>>> sorted(l)
[2, 5, 6, 8, 9]
>>> sorted(l,reverse=True)
[9, 8, 6, 5, 2]
27) type() 求类型 28) vars() 没有参数的时候就是locals()
python/匿名函数和内置函数的更多相关文章
- python基础知识15---三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数
阅读目录 一 三元表达式.列表推导式.生成器表达式 二 递归与二分法 三 匿名函数 四 内置函数 五 阶段性练习 一. 三元表达式.列表推导式.生成器表达式 1 三元表达式 name=input('姓 ...
- python之三元表达式、列表推导、生成器表达式、递归、匿名函数、内置函数
目录 一 三元表达式 二 列表推到 三 生成器表达式 四 递归 五 匿名函数 六 内置函数 一.三元表达式 def max(x,y): return x if x>y else y print( ...
- Python 入门基础12 --函数基础5 匿名函数、内置函数
今日内容: 1.三元表达式 2.列表.元组生成式 | 字典生成式 3.递归 4.匿名函数 5.内置函数 一.三元表达式 三元运算符:就是 if...else... 语法糖 前提:if 和 else # ...
- python协程函数、递归、匿名函数与内置函数使用、模块与包
目录: 协程函数(yield生成器用法二) 面向过程编程 递归 匿名函数与内置函数的使用 模块 包 常用标准模块之re(正则表达式) 一.协程函数(yield生成器用法二) 1.生成器的语句形式 a. ...
- python基础之函数式编程、匿名函数、内置函数
一 函数式编程 不修改外部状态. 模仿数学里得函数进行编程. 用函数编程写出得代码相当精简. 可读性比较差. 例子: y=2*x+1 x=1 def test(x): return 2*x+1 tes ...
- python 基础篇 15 内置函数和匿名函数
------------------------>>>>>>>>>>>>>>>内置函数<<< ...
- python基础-匿名函数和内置函数
匿名函数和内置函数 匿名函数:没有名字,使用一次即被收回,加括号就可以运行的函数. 语法:lambda 参数:返回值 使用方式: 将匿名函数赋值给变量,给匿名函数一个名字,使用这个变量来调用(还不如用 ...
- Python进阶(四)----生成器、列表推导式、生成器推导式、匿名函数和内置函数
Python进阶(四)----生成器.列表推导式.生成器推导式.匿名函数和内置函数 一丶生成器 本质: 就是迭代器 生成器产生的方式: 1.生成器函数
- python 三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数
http://www.cnblogs.com/linhaifeng/articles/7580830.html 三元表达式.列表推导式.生成器表达式.递归.匿名函数.内置函数
- python函数知识六 内置函数二、匿名函数与内置函数三(重要)
19.内置函数二 abs():绝对值 lst = [1,2,-3,1,2,-5] print([abs(i) for i in lst]) enumerate("可迭代对象",&q ...
随机推荐
- Java设计模式(六)Adapter适配器模式
一.场景描述 “仪器数据采集器”包含采集数据以及发送数据给服务器两行为,则可定义“仪器数据采集器”接口,定义两方法“采集数据capture”和“发送数据sendData”. “PDF文件数据采集器”实 ...
- nodejs mysql 数据查询例子
1.安装nodejs 2.安装mysql npm包 地址:https://github.com/felixge/node-mysql npm install mysql 3.相应API查看及调用: ...
- 复习ACCESS注入
0x00前言:在学校看完了ACCESS注入.但当时并没有电脑,所以做好了笔记 回到家自己搭建了一个有ACCESS注入的站进行练习,虽然这可能没有什么用处 毕竟现在大多的网站都有waf或安全狗.而且AC ...
- Maven-02: 依赖
其实一个依赖声明可以包含如下的一些元素: groupId,artifactId,version:依赖的基本坐标. type:依赖的类型,对应于项目坐标定义的packaging.大多数情况下,该元素不必 ...
- Spark Kudu 结合
Kudu的背景 Hadoop中有很多组件,为了实现复杂的功能通常都是使用混合架构, Hbase:实现快速插入和修改,对大量的小规模查询也很迅速 HDFS/Parquet + Impala/Hive:对 ...
- 剑指Kubernetes 揭秘腾讯云的PaaS技术选型策略
1.前言 Kubernetes 很火,一大批互联网公司早已领先一步,搭建起专有的 PaaS平台,传统企业们看到的 Kubernetes的趋势,亦不甘落后,在试水的道上一路狂奔-- 虽然,Kuberne ...
- 19.C++-(=)赋值操作符、智能指针编写(详解)
(=)赋值操作符 编译器为每个类默认重载了(=)赋值操作符 默认的(=)赋值操作符仅完成浅拷贝 默认的赋值操作符和默认的拷贝构造函数有相同的存在意义 (=)赋值操作符注意事项 首先要判断两个操作数是否 ...
- 设计模式 --> (13)备忘录模式
备忘录模式 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以后就可将该对象恢复到原先保存的状态 示例 玩游戏时都会保存进度,所保存的进度以文件的形式存在.这样下次就可 ...
- CSS的盒子模型有哪些,区别是什么
1)盒模型: 内容(content).填充(padding).边界(margin). 边框(border) 2)有两种, IE 盒子模型.标准 W3C 盒子模型:IE的content部分包含了 b ...
- 关于hadoop集群下Datanode和Namenode无法访问的解决方案
HDFS架构 HDFS也是按照Master和Slave的结构,分namenode,secondarynamenode,datanode这几个角色. Namenode:是maseter节点,是大领导.管 ...