python之内置函数,匿名函数
什么是内置函数?
就是Python给你提供的,拿来直接用的函数,比如print,input等等。其实就是我们在创建.py的时候python解释器所自动生成的内置的函数,就好比我们之前所学的作用空间
内置空间就是python文件在创建的时候python解释器所自动创建的
重要的 内置函数:
***
eval:
eval:执行字符串类型的代码,并返回最终结果。(其实就是对字符串内的类型进行操作 比如你字符串内事int类型的 相加相乘之类的 直接进行操作 如果字符串内事列表或者字典直接把列表字典给原样返还)
print(eval('3+4')) #
print(eval("{'name':'老南京', 'age':17}")) #{'name':'老南京', 'age':17}
print(eval("['1+3']")) # ['1+3']
exec:执行字符串类型的代码,流程语句。 就是字符串内的该执行的内容给执行出来 (你字符串的只是在里面是一种显示没有执行exec是把它给执行)
ret = '''
li = [1, 2, 3]
for i in li :
print(i) '''
exec(ret) #就是把字符串内的所有该执行的用这个方法在字符串外面给执行了
sum:对可迭代对象进行求和计算(可设置初始值)。 但是最多只能两个元素相加
print(sum([1,2,3,4])) #
print(sum((1,2,3,),100)) #
print(sum({1:2,3:4}))#字典只是把key值给相加
max:返回可迭代对象的最大值(可加key,key为函数名,通过函数的规则,返回最大值)
print(max([1,2,3,4])) #
print(max([1, 2, 3, 4,-9], key=abs)) #-9 abs表示绝对值
min和max所有的使用都一样只不过是返回最小值 两个都是只能对可迭代对象进行使用
print(min((1,2,3,4,5)))
print(min({3:2,4:1})) #对字典使用只能对字典的key进行比较
reversed:将一个序列翻转,并返回此翻转序列的迭代器。 就是你用reversed在对一个可迭代的队形进行操作的就把它变成了迭代器
ret =reversed(['a', 'b', 1, 2, 3])
print(ret)
print(ret.__next__()) #因为reversed已经把可迭代的对象给转化为迭代器了所以需要用__next__来取值
repr:返回一个对象的string形式(原形毕露)。 就是字符串内是什么形式就返还什么形式
print(repr('{"name":"alex"}')) #字符串内含有的字典给返回出来 因为字典也是放在了字符串内 此时它就是字符串了
print(repr('(1,2,3)'))
sorted 对所有可迭代的对象进行排序操作。 可加key它和sort相比较就是多加了个key就是可以定义怎么进行翻转
li = [1, -2, -7, 8, 5, -4, 3]
print(sorted(li)) #从小到大排序
print(sorted(li , reverse = True)) #从大到小排序
print(sorted(li, reverse = True, key =abs)) #按照绝对值给排序
enumerate 枚举 就是返回一个枚举对象 (0, seq[0]), (1, seq[1]), (2, seq[2]),
li = ['老男孩','alex','wusir','嫂子','zhaoyun'] #返回一个枚举对象你一一打印这个枚举对象内的所有值就会出现对应的序列号
for k, v in enumerate(li): #0 老男孩
print(k,v) #1 alex
#2 wusir
#3 嫂子
#4 zhaoyun
l1 = ('laowang', 'zhangsan',1, 2, 3,4)
for i in enumerate(l1):
print(i)
zip 拉链方法 就是按照最短的可迭代对象来进行组合这个组合只能是从上到下 并且按照最短的那个迭代对象来组合
函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。
l1 = [1, 2, 3, 4, 5]
l2 =(5, 6, 7,)
l3 =['laowang', 'sb', 5, 6]
# print(zip(l1, l2, l3))
for i in zip(l1, l2, l3) : # (1, 5, 'laowang')
print(i) # (2, 6, 'sb')
# (3, 7, 5)
filter:过滤·。(判读条件) 其实就是提供一个场所让你传进俩条件和可迭代对象进行判断 同时也是生成了一个迭代器
def func(x):return x%2 == 0
ret = filter(func,[1, 2, 3, 4, 5, 6, 7]) #func是判断条件 后面是需要判断的内容
print(ret)
for i in ret :
print(i)
map: (判读条件)会根据提供的函数对指定序列做映射。使用map的同时也是创建了一个迭代器 需要用__next__来取值或者转化为list之类的来取值
def s(x):
return x**2
ret =map(s, [1,2,3,4,5])
print(ret.__next__())
print(ret.__next__())
L = [1,2,3]
L = map(str,L) # 把L转化位str类型的生成器
print(L.__next__())
小应用:如何实现 “1,2,3” 变成 [‘1’,’2’,’3’] ?
L = [1,2,3]
NL = list(map(str,L))
print(NL)
map和fifter都是判读条件但是map不可以删除东西 fifter可以删除里面的元素
匿名函数:
匿名函数:为了解决那些功能很简单的需求而设计的一句话函数。
#这段代码
def calc(n):
return n**n
print(calc(10)) #换成匿名函数
calc = lambda n:n**n
print(calc(10))
res=map(lambda x,y:x+y,[1, 3, 5, 7, 9],[2,4,6,8]) #就是把两个列表相加一起 但是是一一对应相加
print(res.__next__())
print(res.__next__())
print(res.__next__())
print(res.__next__()) #但是 不能超过那个最少个映射
函数名 = lambda 参数 :返回值 #参数可以有多个,用逗号隔开
#匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值
#返回值和正常的函数一样可以是任意数据类型
我们可以看出,匿名函数并不是真的不能有名字。
匿名函数的调用和正常的调用也没有什么分别。 就是 函数名(参数) 就可以了~~~
匿名函数与内置函数举例:
res = filter(lambda x: x>10,[5,8,9,11,13])
# for i in res :
# print(i)
print(res.__next__())
print(res.__next__())
python之内置函数,匿名函数的更多相关文章
- python之内置函数(二)与匿名函数、递归函数初识
一.内置函数(二)1.和数据结构相关(24)列表和元祖(2)list:将一个可迭代对象转化成列表(如果是字典,默认将key作为列表的元素).tuple:将一个可迭代对象转化成元组(如果是字典,默认将k ...
- python笔记4 内置函数,匿名函数.递归函数 面向对象(基础, 组合,继承)
内置函数 eval和exec eval :执行字符串中的代码并将结果返回给执行者,有返回值 exec:执行字符串中的代码,往往用于执行流程语句,没有返回值. s1 = '1+2' s2 = 'prin ...
- python基础学习Day14 内置函数 匿名函数
一.内置函数里几个高频重要函数 (1)min\max函数的用法 以min函数的为例: min:返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值). l1 =[(,),(, ...
- Python练习题-1.使用匿名函数对1~1000求和,代码力求简洁。
Python 练习 标签(空格分隔): Python Python练习题 Python知识点 一.使用匿名函数对1~1000求和,代码力求简洁. 答案: In [1]: from functools ...
- Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)...啊啊啊
函数式编程 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计 ...
- (转)Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)
原文:https://www.cnblogs.com/chenwolong/p/reduce.html 函数式编程 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数 ...
- python学习三十三天函数匿名函数lambda用法
python函数匿名函数lambda用法,是在多行语句转换一行语句,有点像三元运算符,只可以表示一些简单运算的,lambda做一些复杂的运算不太可能.分别对比普通函数和匿名函数的区别 1,普通的函数用 ...
- 初学 Python(十三)——匿名函数
初学 Python(十三)--匿名函数 初学 Python,主要整理一些学习到的知识点,这次是匿名函数. # -*- coding:utf-8 -*- #关键字lambda定义的函数都是匿名函数 #做 ...
- Python:lambda表达式(匿名函数)
lambda表达式: 通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数. 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便. 在Python中 ...
- Learning Python 012 函数式编程 2 返回函数 匿名函数 装饰器 偏函数
Python 函数式编程 2 返回函数 返回函数的意思就是:函数作为返回值.(高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回.) 举个例子:实现一个可变参数的求和. 正常的函数: de ...
随机推荐
- shiro学习笔记_0700_整合ssm
现在最流行的框架就是ssm,学到最后,shiro在实际开发中,也就的整合框架.首先spring是少不了的,shiro也提供了和spring的整合包. 首先,新建maven项目: maven依赖: &l ...
- 第3章—高级装配—配置profile bean
配置profile bean 3.1.@profile注解是spring提供的一个用来标明当前运行环境的注解. 我们正常开发的过程中经常遇到的问题是,开发环境是一套环境,qa测试是一套环境,线上部署又 ...
- linux 下 vi 编辑器 使用
命令模式(command mode).插入模式(Insert mode)和底行模式(last line mode) 1.进入插入模式 按「i」切换进入插入模式「insert mode」,按“i”进入插 ...
- call()和apply()方法(切换上下文)
call方法: 语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. apply方法: 语法:apply ...
- C#调用Dll文件中方法的简单应用
参考:http://www.cnblogs.com/Asuphy/p/4206623.html 直接看代码,最简单的引入,只需要3步: using System; using System.Colle ...
- json-c开发指南
网上看到的一片关于json-c的文章.收藏一下,忘记了出处,尽请作者谅解. JSON c语言开发指南 1. 引言 本文档是基于json-c 库对数据交换进行开发所编写的开发指南,及详细解释j ...
- Softwaretechnik
1.Einführung 1.1 Was ist Softwareentwicklung Softwareentwicklung ist eine Wissenschaftliches Fach üb ...
- jQuery适用技巧笔记整合
1.关于页面元素的引用 通过jquery的$()引用元素包括通过id.class.元素名以及元素的层级关系及dom或者xpath条件等方法,且返回的对象为jquery对象(集合对象),不能直接调用do ...
- 【css】清除浮动的几种方式
[css]清除浮动的几种方式 因为浮动框不在普通的文档流中,所以它不占据空间.如下面的代码: .news { background-color:gray; border:1px solid bla ...
- springmvc 框架原理
先来个原理图,镇博. (图片出处:http://www.cnblogs.com/selene/p/4658554.html,感谢博主的图) 着重看:处理器映射器,处理器适配器,这两个的配置. 这两个的 ...