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 ...
随机推荐
- PHP 删除 数组 指定成员
1. unset删除某一个 特定成员 $arr[] = ; $arr[] = ; $arr[] = ; ]); var_dump($arr); array() { []=> ) []=> ...
- Types方法之isCastable-isConvertible
5. Conversions and Promotions 5.1. Kinds of Conversion 5.1.1. Identity Conversion 5.1.2. Widening Pr ...
- centos6 vps部署rails
centos 6 vps初始化部署rails应用1 ssh登录 vpsssh -p port root@server_ip_address 2 添加用户 adduser usernamepasswd ...
- 深度学习(一) BP神经网络
怎样理解非线性变换和多层网络后的线性可分,神经网络的学习就是学习如何利用矩阵的线性变换加激活函数的非线性变换 线性可分: 一维情景:以分类为例,当要分类正数.负数.零,三类的时候,一维空间的直线可以找 ...
- 你不知道的https工作原理
HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块.服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据 1. ...
- JQuery ajax-向服务器发送请求的方法
如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法: xmlhttp.open("GET","ajax_info ...
- yii 页面加载完成后弹出模态框
<?php $js = <<<JS $('#page-modal').modal('show');//页面加载完显示模态框 $('.modal-dialog').css('wi ...
- ExtJs定时消息提示框,类似于QQ右下角提示,ExtJs如何定时向后台发出两个请求并刷新数据实例
原文出自:https://blog.csdn.net/seesun2012 思路: 1.加载页面,加载Ext.TaskManager.start()方法: 2.执行定时器方法: 3.获取地址向后台发送 ...
- 跨域 cookies
script标签请求的js脚本,如果跨域了,请求会带有外域的cookies信息. XMLHttpRequest请求跨域时,需要有Access-Control-*等的头信息,如果需要将cookies传输 ...
- ComBox、listBox、checklistBox控件
omBox控件被称为下拉组合框控件,是由System.windows.Forms.ComBox类提供的,主要作用是讲一个集合数据以组合框的形式显示给用户,当用户单击时将以下拉框显示给用户,供用户选择一 ...
