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 ...
随机推荐
- python爬微信公众号前10篇历史文章(6)-话说http cookies
早期Web开发面临的最大问题之一是如何管理状态.简言之,服务器端没有办法知道两个请求是否来自于同一个浏览器.这是cookies的起源. 什么是cookie? A cookie is a small s ...
- 面向服务的体系架构 SOA(三) --- Zookeeper API、zkClient API的使用
zookeeper简单介绍及API使用 1.1 zookeeper简介 zookeeper是一个针对大型分布式系统的可靠的协调系统,提供的功能包括配置维护.名字服务.分布式同步.组服务等.zookee ...
- 笔记:Spring Cloud Feign 其他配置
请求压缩 Spring Cloud Feign 支持对请求与响应进行GZIP压缩,以减少通信过程中的性能损耗,我们只需要通过下面二个参数设置,就能开启请求与响应的压缩功能,yml配置格式如下: fei ...
- 【Python】 更多数据类型collections&简易数据文件shelve
■collections collections在python内建的数据类型基础上新增一些实用的数据类型,其目的在于增加代码的可读性?(虽然我自己没怎么用过..) ① deque 双端队列 q = d ...
- Oracle服务器和客户端的安装和卸载
Oracle 11g服务器与客户端的完全卸载方式与前些版本有了改变: 一.卸载前准备: 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务. 二.批处理卸载 ...
- Android API
http://www.cnblogs.com/over140/tag/Android%20API%20%E4%B8%AD%E6%96%87/
- JavaWeb学习笔记总结 目录篇
JavaWeb学习笔记一: XML解析 JavaWeb学习笔记二 Http协议和Tomcat服务器 JavaWeb学习笔记三 Servlet JavaWeb学习笔记四 request&resp ...
- 铜齿铁牙UP计划
铜齿铁牙UP计划 我在""做教练"之好声音训练"给出了老师.播音主持学习者,声乐学习者科学用声三要点: 用气发声 共鸣发声 虚实结合 用气发声首先要学会腹式呼吸 ...
- Alpha第九天
Alpha第九天 听说 031502543 周龙荣(队长) 031502615 李家鹏 031502632 伍晨薇 031502637 张柽 031502639 郑秦 1.前言 任务分配是VV.ZQ. ...
- alpha-咸鱼冲刺day7
一,合照 emmmmm.自然还是没有的. 二,项目燃尽图 三,项目进展 正在写登陆+注册ing 注册搞出来了!!!!!!!!QAQ(喜极而泣!!!!.jpg) 四,问题困难 数据流程大概是搞定了.不过 ...