Python 内建函数

内建函数
Build-in Function,启动python解释器,输入 dir(builtins) , 可以看到很多python解释器启动后默认加载的属性和函数,这些函数称之为内建函数, 这些函数因为在编程时使用较多,cpython解器用c语言实现了这些函数,启动解释器 时默认加载。
这些函数数量众多,不宜记忆,开发时不是都用到的,待用到时再help(function), 查看如何使用,或结合百度查询即可,在这里介绍些常用的内建函数。

import builtins
print(dir(builtins))

dir
在 Python 中,有大量的内置模块,模块中的定义(例如:变量、函数、类)众多,不可能全部都记住,这时 dir() 函数就非常有用了。
dir() 是一个内置函数,用于列出对象的所有属性及方法。在 Python 中,一切皆对象,模块也不例外,所以模块也可以使用 dir()。除了常用定义外,其它的不需要全部记住它,交给 dir() 就好了。

import math
print(dir(math))

range
#range(stop) -> list of integers
#range(start, stop[, step]) -> list of integers

start:计数从start开始。默认是从0开始。例如range(5)等价于range(0, 5);
stop:到stop结束,但不包括stop.例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:每次跳跃的间距,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
python3中range返回一个迭代值,如果想得到列表,可通过list函数

a = range(5)
list(a)

创建列表的另外一种方法:列表生成式

testList = [x+2 for x in range(5)]

map
map函数会根据提供的函数对指定序列做映射
map(…)
map(function, sequence[, sequence, …]) -> list
function:是一个函数
sequence:是一个或多个序列,取决于function需要几个参数
返回值是一个list

def f1( x, y ):
	return (x,y)
l1 = [ 0, 1, 2, 3, 4, 5, 6 ]
l2 = [ 'Sun', 'M', 'T', 'W', 'T', 'F', 'S' ]
l3 = map( f1, l1, l2 )
print(list(l3))
#结果为:[(0, 'Sun'), (1, 'M'), (2, 'T'), (3, 'W'), (4, 'T'), (5, 'F'), (6, 'S')]

filter
filter函数会对指定序列执行过滤操作
filter(…)
filter(function or None, sequence) -> list, tuple, or string
function:接受一个参数,返回布尔值True或False
sequence:序列可以是str,tuple,list
filter函数会对序列参数sequence中的每个元素调用function函数,最后返回的结果包含调用结果为True的元素。

def fun(x):
    return x % 2 != 0
l1 = [1, 2, 5, 7, 9]
l = filter(fun, l1)
for r in l:
    print(r)

reduce
reduce函数,reduce函数会对参数序列中元素进行累积
reduce(…)
reduce(function, sequence[, initial]) -> value
function:该函数有两个参数
sequence:序列可以是str,tuple,list
initial:固定初始值
reduce依次从sequence中取一个元素,和上一次调用function的结果做参数再次调用function。 第一次调用function时,如
果提供initial参数,会以sequence中的第一个元素和initial 作为参数调用function,否则会以序列sequence中的前两个元素
做参数调用function。 注意function函数不能为None。

from _functools import reduce
def fun(x, y):
    return x + y
l = [1, 3, 5, 7]
result = reduce(fun,l)
print(result)#16
li = ["a","a","b","c","c"]
def func(x,y):
    print(x)#打印出来的x是个字典
    # {}
    # {'a': 1}
    # {'a': 2}
    # {'a': 2, 'b': 1}
    # {'a': 2, 'b': 1, 'c': 1}
    # {'a': 2, 'b': 1, 'c': 2}
    print(y)#y是其中的每一个元素(字典中的键)
    if y in x:
        x[y] = x[y]+1
    else:
        x[y] = 1
    return x

res = reduce(func,li,{})
print(res)

sorted
sorted 会对指定的序列排序

l = [1, 3, 5, 7, 2]
l1 = sorted(l, reverse=1)
print(l1)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值