python中的内置函数(一), lambda, filter, map
https://www.processon.com/view/link/5c10da0ce4b099ae3e137bf6
1.内置函数
内置函数就是python中提供的,可以直接拿来用的函数,比如print,input这样的.到python3.6.2版本时,python一共提供了68个内置函数
作用域相关:
locals() 返回当前作用域中的名字
globals() 返回全局作用域中的名字
迭代器相关:
range() 生成数据 next() 迭代器向下执行一次,内部实际使用了__next__()方法返回迭代器的下一个项目 iter() 获取迭代器,内部实际使用的是__iter__()方法来获取迭代器
字符串类型代码的执行
eval() 执行字符串类型的代码,并返回最终结果
print(eval('2+2')) # 4
n = 8
print(eval('2+n')) # 10 def func():
print(666)
eval('func()') # 666
exec() 执行字符串类型的代码
exec("""
for i in range(10):
print(i)
""") exec("""
def func():
print("我是周杰伦")
func()
""")
compile() 将字符串类型的代码变异.代码对象能够通过exec语句来执行或者eval()进行求值
'''
参数说明:
1. resource 要执⾏行行的代码, 动态代码⽚片段
2. ⽂文件名, 代码存放的⽂文件名, 当传⼊入了了第⼀一个参数的时候, 这个参数给空就可以了了
3. 模式, 取值有3个,
1. exec: ⼀一般放⼀一些流程语句句的时候
2. eval: resource只存放⼀一个求值表达式.
3. single: resource存放的代码有交互的时候. mode应为single
''' code1 = 'for i in range(10): print(i)'
c1 = compile(code1,"",mode='exec')
exec(c1) code2 = '1+2+3'
c2 = compile(code2,"",mode='eval')
a = eval(c2)
print(a) code3 = 'name = input('请输入你的名字:')'
c3 = compile(code3,"",mode = 'single')
exec(c3)
print(name)
有返回值的字符串形式的代码用eval().没有返回值的字符串形式的代码用exec().一般很少用到compile()
输入和输出相关:
input() 获取用户输入的内容
print() 打印输出
内存相关:
hash() 获取到对象的哈希值(int,str,bool,tuple)
id() 获取到对象的内存地址
文件操作相关:
open()用于口打开一个文件,创建一个文件句柄
模块相关:
__import__() 用于动态加载类和函数
帮助:
help() 函数用于查看函数或模块用途的详细说明
调用相关:
callable() 用于检查一个对象是否是可调用的,如果返回True,objuect有可能调用失败,但如果返回False,那调用绝对不会成功
查看内置属性:
dir() 查看对象的内置属性,方法,访问的对象中的__dir__()方法
基础数据类型相关:
数字相关:
bool() 将给顶的数据转换成bool值,如果不给值.返回False
int() 将给定的数据转换成int 值,如果不给治,返回0
float() 将给定的数据转换成float值,也就是小数
complex() 创建一个复数,第一个参数为实部,第二个参数为虚部.或者第一个参数直接用字符串来描述复数
进制转换:
bin() 将给的参数转换成二进制
otc() 将给的参数转换成八进制
hex() 将给的参数转换成十六进制
2.匿名函数
lamda匿名函数
为了解决一些简单的需求而设计的一句话函数
# 计算n的n次方
def func(n)
return n**n
print(func(10)) f = lambda n:n**n
print(f(10))
lambda表示的是匿名函数,不需要用def来声明,一句话就可以声明出一个函数
语法:
函数名 = lanmbda 参数:返回值
注意:
1.函数的参数可以有多个.多个参数之间用逗号隔开
2.匿名参数不管多复杂.只能写一行,且逻辑结束后直接返回数据
3.返回值和正常的函数一样,可以是任意数据类型
匿名函数并不是说一定没有名字.这里前面的变量就是一个函数名.说他是匿名原因是我们通过__name__查看的时候是没有名字的
统一都叫lambda.在调用的时候没有什么特别之处,像正常的函数调用即可
sorted()
排序函数.
语法:sorted(ITerable,key=None,reverse=False) Iterable:可迭代对象 key:排序规则(排序函数),在sorted内部会将可第二代对象中的每一个元素传递给这个函数的参数.根据函数运算的结果进行排序
reverse:是否倒序.True:倒叙,False:正序
和函数组合使用
# 根据字符串⻓度进行排序
lst = ["麻花藤", "冈本次郎", "中央情报局", "狐仙"] # 计算字符串串⻓长度
def func(s):
return len(s) print(sorted(lst, key=func))
和lambda组合使用
# 根据字符串长度进行排序
lst = ["麻花藤", "冈本次郎", "中央情报局", "狐仙"]
# 计算字符串长度
def func(s):
return len(s) print(sorted(lst, key=lambda s: len(s))) lst = [{"id":1, "name":'alex', "age":18},
{"id":2, "name":'wusir', "age":16},
{"id":3, "name":'taibai', "age":17}] # 按照年年龄对学⽣生信息进⾏行行排序
print(sorted(lst, key=lambda e: e['age']))
filter()
筛选函数
语法:filter(function,Iterable)
function:用来筛选的函数.在filer中会自动的把iterable中的元素传递给function.然后根据function返回的True或者False来判断是否保留此项数据
Iterable:可迭代对象
lst = [1,2,3,4,5,6,7]
ll = filter(lambda x: x%2==0, lst) # 筛选所有的偶数
print(ll)
print(list(ll)) lst = [{"id":1, "name":'alex', "age":18},
{"id":2, "name":'wusir', "age":16},
{"id":3, "name":'taibai', "age":17}] fl = filter(lambda e: e['age'] > 16, lst) # 筛选年年龄⼤大于16的数据
print(list(fl))
map()
映射函数
语法:
map(function,iterable)可以对可迭代对象中的每一个元素进行映射.分别取执行function
计算列表中每个元素的平方,返回新列表 def func(e):
return e*e mp = map(func,[1,2,3,4,5])
print(mp)
print(list(mp)) 改写成lambda
print(list(map(lambda x: x*x,[1,2,3,4,5])))
计算两个列表中相同位置的数据的和
# 计算两个列表相同位置的数据的和
lst1 = [1, 2, 3, 4, 5]
lst2 = [2, 4, 6, 8, 10]
print(list(map(lambda x, y: x+y, lst1, lst2)))
python中的内置函数(一), lambda, filter, map的更多相关文章
- Python经常使用内置函数介绍【filter,map,reduce,apply,zip】
Python是一门非常简洁,非常优雅的语言,其非常多内置函数结合起来使用,能够使用非常少的代码来实现非常多复杂的功能,假设相同的功能要让C/C++/Java来实现的话,可能会头大,事实上Python是 ...
- python中一些内置函数实例
lambda表达式 简单函数可用lambda表达式 1. def f1() return(123) r1=f1() print() 2. f2=lambda:123 r2=f2() print() 以 ...
- python中的内置函数(2)
一.lambda匿名函数定义:为了解决一些简单的需求而设计的一句话函数例子:计算n的n次方 def func(n):#正常的写法 return n**2 f=lambda n:n**2 这里的lamb ...
- python学习之【第十篇】:Python中的内置函数
1.前言 内置函数,就是Python内部预先定义好的函数,可以直接使用,Python中内置函数有以下这么多个: 2.map() 描述: map() 会根据提供的函数对指定序列做映射.第一个参数 fun ...
- Python中max()内置函数使用(list)
在学习完列表和元组的基础知识后,做到一个题: 求出列表中频次出现最多的元素. 学习到了python内置函数max的用法 其参数key的用法 匿名函数lamda的用法 python内置函数max() m ...
- python中常用内置函数和关键词
Python 常用内置函数如下: Python 解释器内置了很多函数和类型,您可以在任何时候使用它们.以下按字母表顺序列出它们. 1. abs()函数 返回数字的绝对值. print( abs(-45 ...
- python中的内置函数,递归,递归文件显示(二),二分法
1.部分内置函数 repr()显示出字符串的官方表示形式,返回一个对象的string形式 # repr 就是原封不动的输出, 引号和转义字符都不起作用 print(repr('大家好,\n \t我叫周 ...
- python中的内置函数(一)
内置函数:内置函数就是python提供的,可以拿来直接用的函数 作用域相关 locals():返回当前作用域中的名字globals():返回全局作用域中的内容 def func(): print('我 ...
- 2018.8.14 python中的内置函数(68个)
主要内容: python中68个内置函数的功能及使用方法
随机推荐
- Rhythmk 一步一步学 JAVA (19): 注解 annotation
在编写注解的时候需要了解的四种注解: @Target 表示该注解可以用于什么地方,可能的ElementType参数有: CONSTRUCTOR:构造器的声明 FIELD:域声明(包括enum实例) L ...
- String(byte[] bytes, Charset charset) 和 getBytes() 使用
转自:https://techbirds.iteye.com/blog/1855960 @Test public void testBytes(){ //字节数 //中文:ISO:1 GBK:2 UT ...
- ORA-01157:无法标识/锁定数据文件,ORA-01110:数据文件。。。
- 47. Permutations II (Back-Track, Sort)
Given a collection of numbers that might contain duplicates, return all possible unique permutations ...
- 90. Subsets II (Back-Track, DP)
Given a collection of integers that might contain duplicates, nums, return all possible subsets. Not ...
- 38.Count and Say 报数
[抄题]: The count-and-say sequence is the sequence of integers beginning as follows:1, 11, 21, 1211, 1 ...
- Python解决数独
Environment: Python27 # -*- coding: UTF-8 -*- ''' Created on 2017年6月9日 @author: LXu4 ''' import copy ...
- advance shading--光源的类型
我们这里讨论的光源类型都有一个相同点,就是,我们考量的都是光源上的一个点,对于物体表面上一个点的影响,也就是说立体角趋近为零的情况. 这里光源分为两类,一类是方向光,假设光源在无限远处.另一类是点光源 ...
- 基于Web Service的客户端框架搭建二:数据转换层(FCL)
引言 要使用WebService来分离客户端与服务端,必定要使用约定好两者之间的数据契约.Json数据以其完全独立于语言的优势,成为开发者的首选.C# JavaScriptSerializer为Jso ...
- Oracle学习笔记(一)
用户与表空间 系统用户: 一.系统用户级别sys.system 最高级(sys级别高于system)sysman 操作企业管理器使用的scott 创始人之一的名字scott默认密码是tiger登录方法 ...