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的更多相关文章

  1. Python经常使用内置函数介绍【filter,map,reduce,apply,zip】

    Python是一门非常简洁,非常优雅的语言,其非常多内置函数结合起来使用,能够使用非常少的代码来实现非常多复杂的功能,假设相同的功能要让C/C++/Java来实现的话,可能会头大,事实上Python是 ...

  2. python中一些内置函数实例

    lambda表达式 简单函数可用lambda表达式 1. def f1() return(123) r1=f1() print() 2. f2=lambda:123 r2=f2() print() 以 ...

  3. python中的内置函数(2)

    一.lambda匿名函数定义:为了解决一些简单的需求而设计的一句话函数例子:计算n的n次方 def func(n):#正常的写法 return n**2 f=lambda n:n**2 这里的lamb ...

  4. python学习之【第十篇】:Python中的内置函数

    1.前言 内置函数,就是Python内部预先定义好的函数,可以直接使用,Python中内置函数有以下这么多个: 2.map() 描述: map() 会根据提供的函数对指定序列做映射.第一个参数 fun ...

  5. Python中max()内置函数使用(list)

    在学习完列表和元组的基础知识后,做到一个题: 求出列表中频次出现最多的元素. 学习到了python内置函数max的用法 其参数key的用法 匿名函数lamda的用法 python内置函数max() m ...

  6. python中常用内置函数和关键词

    Python 常用内置函数如下: Python 解释器内置了很多函数和类型,您可以在任何时候使用它们.以下按字母表顺序列出它们. 1. abs()函数 返回数字的绝对值. print( abs(-45 ...

  7. python中的内置函数,递归,递归文件显示(二),二分法

    1.部分内置函数 repr()显示出字符串的官方表示形式,返回一个对象的string形式 # repr 就是原封不动的输出, 引号和转义字符都不起作用 print(repr('大家好,\n \t我叫周 ...

  8. python中的内置函数(一)

    内置函数:内置函数就是python提供的,可以拿来直接用的函数 作用域相关 locals():返回当前作用域中的名字globals():返回全局作用域中的内容 def func(): print('我 ...

  9. 2018.8.14 python中的内置函数(68个)

    主要内容: python中68个内置函数的功能及使用方法

随机推荐

  1. 通过 NPOI 生成 Excel

    HSSFWorkbook hssfworkbook; ISheet sheet1; public void BuildExcel() { hssfworkbook = new HSSFWorkbook ...

  2. MyEclipse8.6启动后提示内存不足的解决方案(亲测,完美解决)

    转自:http://www.bubuko.com/infodetail-1625857.html 最近可能由于公司项目大了,启动MyEclipse后经常提示内存不足的警告框,如下: 其实点击close ...

  3. Python新利器之pipenv(转)

    pipenv 都包含什么? pipenv 是 Pipfile 主要倡导者.requests 作者 Kenneth Reitz 写的一个命令行工具,主要包含了Pipfile.pip.click.requ ...

  4. (转 留存)Windows环境下的NodeJS+NPM+GIT+Bower安装配置步骤

    Windows环境下的NodeJS+NPM+GIT+Bower安装配置步骤 标签: NodeJSnpmbower 2015-07-17 16:38 3016人阅读 评论(0) 收藏 举报  分类: G ...

  5. 关于setConnectTimeout和setReadTimeout的问题

    1.问题描述 这几天测试重构后的下载框架,发现在下载过程中如果网络中断或网络较差,个别应用的下载就会阻塞卡住,一直卡在 “正在下载 xx%”.   2.问题排查和定位 思考:网络差不应该报网络异常的错 ...

  6. helm 安装 spinnaker

    $ curl -Lo values.yaml https://raw.githubusercontent.com/kubernetes/charts/master/stable/spinnaker/v ...

  7. Information Retrieval II

    [Information Retrieval II] 搜索引擎分类: 1.目录式搜索引擎. 2.全文搜索引擎. 3.元搜索引擎(Meta-Search Engine). 搜索引擎的4个阶段:下载(cr ...

  8. Git忽略规则及.gitignore规则不生效的解决办法(转)

    在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件).这个文件每一行保存了一个匹配的规则例如: # 此为注 ...

  9. Financial Information Exchange (FIX) Protocol Interview Questions Answers[z]

    What do you mean by Warrant?Warrant is a financial product which gives right to holder to Buy or Sel ...

  10. Java多线程同步方法

    一.同步方法 即有synchronized关键字修饰的方法. 由于java的每个对象都有一个内置锁,当用此关键字修饰方法时, 内置锁会保护整个方法.在调用该方法前,需要获得内置锁,否则就处于阻塞状态. ...