python3--内置函数

内置函数:

截止到python 3.6.2 版本,现在python一共提供了68个内置函数;即python提供给你直接可以拿来使用的所有函数。

  内置函数  (点击函数查看详细)
abs() dict() help() min() setattr()
all() dir() hex() next() slice()
any() divmod() id() object() sorted()
ascii() enumerate() input() oct() staticmethod()
bin() eval() int() open() str()
bool() exec() isinstance() ord() sum()
bytearray() filter() issubclass() pow() super()
bytes() float() iter() print() tuple()
callable() format() len() property() type()
chr() frozenset() list() range() vars()
classmethod() getattr() locals() repr() zip()
compile() globals() map() reversed() __import__()
complex() hasattr() max() round()  
delattr() hash() memoryview() set()  

上面便是内置函数列表,按首字母排序,难免看起来混乱无序,不便于记忆;

幸好课上萌萌哒景女神提供了总结归纳好的思维导图,把这些函数分成了6大类。

由于学习进度原因,此处只写标红的四大块(56个方法)~

作用域相关:

  内置函数详解:http://www.runoob.com/python/python-built-in-functions.html

1.abs() 求绝对值

2.all() 如果 iterable 的所有元素都为真(或者如果可迭代为空),则返回 True

3.any() 如果 iterable 的任何元素为真,则返回 True。如果iterable为空,则返回 False

4.callable() 如果 object 参数出现可调,则返回 True,否则返回 False

5.divmod() 以两个(非复数)数字作为参数,并在使用整数除法时返回由商和余数组成的一对数字。对于混合操作数类型,二进制算术运算符的规则适用。对于整数,结果与 (a//b,a%b) 相    同。对于浮点数,结果为 (a%b,q),其中q 通常为 math.floor(a/b),但可以小于1

6.enumerate() 参数必须是可迭代对象,函数运行结果得到一个迭代器,输出元素及对应的索引值

7.eval() 把字符串中的提取出来执行

8.frozenset() 不可变集合,frozenset()定义的集合不可增删元素

9.globals() 返回表示当前全局符号表的字典。这始终是当前模块的字典(在函数或方法内部,这是定义它的模块,而不是从其调用它的模块)

10.round() 对参数进行四舍五入

11.sorted() 排序,不改变原列表

l=[1,2,4,9,-1]
print(sorted(l)) #从小到大
print(sorted(l,reverse=True)) #从大到小

12.zip() 拉链函数

它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。利用*号操作符,可以将list unzip(解压)

a=[1,2,3]
b=['a','b','c']
print(list(zip(a,b)))#------->[(1, 'a'), (2, 'b'), (3, 'c')]
#因为在Python3中zip函数生成的是一个可迭代对象,所以,加一个list可以方便的打印出来,否则打印的是一个对象

加一个*就可以解压

a=[1,2,3]
b=['a','b','c']
c=list(zip(a,b)) d=zip(*c)
print(list(d))#[(1, 2, 3), ('a', 'b', 'c')]

13.max()

返回可迭代的最大项或两个或更多参数中最大的一个。

如果提供了一个位置参数,它应该是一个 iterable。返回迭代中的最大项。如果提供了两个或多个位置参数,则返回最大的位置参数。

max()可以指定key(也就是指定要比较的部分)

14.map() 映射

返回一个迭代器,它应用 function 到 iterable 的每个项目,产生结果

l=[1,2,3,4]
m=map(lambda x:x**2,l)
print(list(m)) ----->[1, 4, 9, 16]

15.reduce() 合并

from functools import reduce
def multi(x,y):
return x*y a = reduce(multi,[1,2,3,4,5])
print(a)#120 五个数相乘的结果

16.filter() 过滤  保留布尔值为True的元素

names=['a_sb','b_sb','c_sb','d']
print(list(filter(lambda name:name.endswith('_sb'),names)))--->['a_sb', b_sb', 'c_sb']

详细的内置函数介绍可以参照以下:https://www.rddoc.com/doc/Python-3.6.0/library/functions/

二、匿名函数

  匿名函数就是不需要显示的指定函数

#这段代码
def calc(n):
return n**n
print(calc(10)) #换成匿名函数
calc = lambda n:n**n
print(calc(10))

  

l=[3,2,100,999,213,1111,31121,333]
print(max(l)) dic={'k1':10,'k2':100,'k3':30} print(max(dic))
print(dic[max(dic,key=lambda k:dic[k])])

  

# 1 文件内容如下,标题为:姓名,性别,年纪,薪资
#
# egon male 18 3000
# alex male 38 30000
# wupeiqi female 28 20000
# yuanhao female 28 10000 with open('b.txt',encoding='utf-8') as f:
l1=[{'name':line.split()[0],'sex':line.split()[1],\
'age':line.split()[2],'salary':line.split()[3]}for line in f] # 4 根据1得到的列表,将每个人的信息中的名字映射成首字母大写的形式
l4=[i['name'] for i in l1]
print(list(map(lambda item:item.capitalize(),l4))) # 5 根据1得到的列表,过滤掉名字以a开头的人的信息
l4=[i['name'] for i in l1]
print(list(filter(lambda name:not name.startswith('a'),l4)))

  

三、递归调用

  递归特性:

  1. 必须有一个明确的结束条件

  2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少

  3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)

  递归有两个阶段

  阶段一:递推

  阶段二:回溯

python内置函数、匿名函数、递归的更多相关文章

  1. python 练习题:请利用Python内置的hex()函数把一个整数转换成十六进制表示的字符串

    # -*- coding: utf-8 -*- # 请利用Python内置的hex()函数把一个整数转换成十六进制表示的字符串 n1 = 255 n2 = 1000 print(hex(n1)) pr ...

  2. Python内置高阶函数map()

    map()函数map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 例如,对于lis ...

  3. 匿名函数python内置高阶函数以及递归

    匿名函数 python定义一个函数通常使用def关键词,后面跟函数名,然后是注释.代码块等. def func(): '''注释''' print('from func') 这样就在全局命名空间定义了 ...

  4. python学习日记(内置、匿名函数练习题)

    用map来处理字符串列表 用map来处理字符串列表,把列表中所有水果都变成juice,比方apple_juice fruits=['apple','orange','mango','watermelo ...

  5. Python内置函数二 (递归函数,匿名函数,二分法)

    匿名函数 lambda() 语法: lambad  参数 : 返回值 def func(a,b): return a * b print(func(2,5)) a = lambda a ,b : a* ...

  6. Python - 内置函数 选例

    概览参见  https://www.runoob.com/python/python-built-in-functions.html 官方文档 https://docs.python.org/3/li ...

  7. 熟记这些python内置函数,你离大佬就不远了

    python内置了很多函数,方便我们在写程序的时候调用,在ython 2.7 的所有内置函数共有80个.熟练记住和使用这些内置函数,将大大提高写Python代码的速度和代码的优雅程度. 以下代码示例用 ...

  8. Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)...啊啊啊

    函数式编程 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计 ...

  9. (转)Python进阶:函数式编程(高阶函数,map,reduce,filter,sorted,返回函数,匿名函数,偏函数)

    原文:https://www.cnblogs.com/chenwolong/p/reduce.html 函数式编程 函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数 ...

  10. python笔记4 内置函数,匿名函数.递归函数 面向对象(基础, 组合,继承)

    内置函数 eval和exec eval :执行字符串中的代码并将结果返回给执行者,有返回值 exec:执行字符串中的代码,往往用于执行流程语句,没有返回值. s1 = '1+2' s2 = 'prin ...

随机推荐

  1. python学习第九十天:vue补习2

    Vue 八.重要指令 v-bind <!-- 值a --> <div v-bind:class='"a"'></div> <!-- 变量a ...

  2. SourceTree运行慢的解决方案

    以下两个Git命令可以解决SourceTree运行慢: git gc git prune 可以在SourceTree点击命令行模式打开Git命令行窗口输入,等待片刻执行完成,SourceTree的运行 ...

  3. Dependent Parameters in Concurrent Program using Special Value Set

    Dependent Parameters in Oracle Applications Requirement: Say there is a concurrent program that lets ...

  4. andriod inputType

    <EditText Android:layout_width="fill_parent" android:layout_height="wrap_content&q ...

  5. appium+python自动化45-夜神模拟器连不上(adb server version (36) doesn't match this client (39); killing...)

    前言 最新下了个最新版的夜神模拟器,然后adb devices发现连不上模拟器了,报adb server version (36) doesn't match this client (39); ki ...

  6. Android内存优化10 内存泄漏常见情况1 静态泄漏

    1,内存泄漏到本质是该释放的对象被持久化的对象引用了,造成持久化的常见情况有1,静态持久化 2,线程持久化 线程持久化 因为存活的线程是有dvk虚拟久直接持有,所以存活的线程都是持久化的 内存泄漏1: ...

  7. 解决phpcms使用php7.1.9时修改后台菜单错误 "[] operator not supported for strings"错误提示

    出现这个错误提示是因为 $array 在初始化的时候是一个字符串,在下面使用的时候作为数组使用,php7.x版本并没有将$array自动转换为 数组而是以字符串存在"[]"作为了运 ...

  8. 使用MapReduce实现二度人脉搜索算法

    一,背景介绍 在新浪微博.人人网等社交网站上,为了使用户在网络上认识更多的朋友,社交网站往往提供类似“你可能感兴趣的人”.“间接关注推荐”等好友推荐的功能,其中就包含了二度人脉算法. 二,算法实现 原 ...

  9. 扩展Jquery方法创建LigerUI Grid

    ///** //*封装jquery get请求ajax //*author:叶明龙 //*time:2012-12-10 //*/ function getAjax(url, para, fn) { ...

  10. projecteuler----&gt;problem=10----Summation of primes

    title: The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17. Find the sum of all the primes below tw ...