内置函数

python内置函数

 首先来说,函数就是以功能为导向,一个函数封装一个功能,那么Python将一些常用的功能(比如len)给我们封装成了一个一个的函数,供我们使用,他们不仅效率高(底层都是用C语言写的),而且是拿来即用,避免重复早轮子,那么这些函数就称为内置函数,到目前为止python给我们提供的内置函数一共是68个,由于时间关系以及考虑这些函数的不同重要性我们会挑常用的重要的内置函数去讲,就是下面红色黄色背景的内置函数,剩下的内置函数你们参照着我的博客自己课下练习一下即可。

重点内置函数

abs() enumerate() filter()  map() max()  min() open()  range() print()  len()  list()  dict() str()  float() reversed()  set()  sorted()  sum()    tuple()  type()  zip()  dir() 

有些重要

all()  any()  bytes() callable() chr() complex() divmod() eval() exec() format() frozenset() globals() hash() help() id() input() int()  iter() locals() next()  oct()  ord()  pow()    repr()  round()

不常用

classmethod()  delattr() getattr() hasattr()  issubclass()  isinstance()  object() property()  setattr()  staticmethod()  super()

常用内置函数

eval

执行字符串类型的代码,并返回最终结果。

eval('2 + 2')  # 4
n=81
eval("n + 4")  # 85
eval('print(666)')  # 666

exec

执行字符串类型的代码。

s = '''
for i in [1,2,3]:
    print(i)
'''
exec(s)

hash

获取一个对象(可哈希对象:int,str,Bool,tuple)的哈希值。

print(hash(12322))
print(hash('123'))
print(hash('arg'))

help

函数用于查看函数或模块用途的详细说明。

print(help(list))

int

函数用于将一个字符串或数字转换为整型。

print(int('12'))  # 12
print(int(3.6))  # 3
print(int('0100',base=2))  # 将2进制的 0100 转化成十进制。结果为 4

float

函数用于将整数和字符串转换成浮点数。

进制转换

bin:将十进制转换成二进制并返回.
oct:将十进制转化成八进制字符串并返回。
hex:将十进制转化成十六进制字符串并返回。

print(bin(10),type(bin(10)))  # 0b1010 <class 'str'>
print(oct(10),type(oct(10)))  # 0o12 <class 'str'>
print(hex(10),type(hex(10)))  # 0xa <class 'str'>

bytes

用于不同编码之间的转化。

s = '你好'
bs = s.encode('utf-8')
print(bs)

all

可迭代对象中,全都是True才是True

print(all([1,2,3,0]))

any

可迭代对象中,有一个True 就是True

 print(any([1,'',0]))

重点内置函数

list()

将一个可迭代对象转换成列表

tuple()

将一个可迭代对象转换成元组

dict()

通过相应的方式创建字典。

abs()

返回绝对值

i = -5
print(abs(i))  # 5

sum()

求和

print(sum([1,2,3]))

min()

求最小值

print(min([1,2,3]))  # 返回此序列最小值

ret = min([1,2,-5,],key=abs)  # 按照绝对值的大小,返回此序列最小值

print(min(dic,key=lambda x:dic[x]))

max()

同上

reversed()

将一个序列翻转, 返回翻转序列的迭代器

l = reversed('你好')  # l 获取到的是一个生成器
print(list(l))
ret = reversed([1, 4, 3, 7, 9])
print(list(ret))  # [9, 7, 3, 4, 1]

bytes()

把字符串转换成bytes类型

s = '你好'
bs = bytes(s,encoding='utf-8')
print(bs)
# 将字符串转换成字节

bs1 = str(bs,encoding='utf-8')
print(bs1)
# 将字节转换成字符串

下五个为非常常用的内置函数

zip() 拉链方法

函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元祖组成的内容,如果各个迭代器的元素个数不一致,则按照长度最短的返回

l1=[1,2,3]
l2=['a','b','c']
l3=['x','y','z']
zip(l1,l2,l3)    --->返回为一个迭代器

for i in zip(l1,l2,l3):
    print(i)

结果为:
    (1, 'a', 'x')
    (2, 'b', 'y')
    (3, 'c', 'z')

sorted排序函数

语法:sorted(iterable,key=None,reverse=False)
iterable : 可迭代对象
key: 排序规则(排序函数),在sorted内部会将可迭代对象中的每一个元素传递给这个函数的参数.根据函数运算的结果进行排序
reverse :是否是倒叙,True 倒叙 False 正序
lst = [1,3,2,5,4]
lst2 = sorted(lst)
print(lst)    #原列表不会改变
print(lst2)   #返回的新列表是经过排序的
 
lst3 = sorted(lst,reverse=True)
print(lst3)   #倒叙
结果:
    [1, 3, 2, 5, 4]
    [1, 2, 3, 4, 5]
    [5, 4, 3, 2, 1]
字典排序:
    dic={"1":"ss","2":"sss","3":'ssss'}
    print(sorted(dic))				# 字典排序返回的就是排序后的key

    结果:
        ['1','2','3']
和匿名函数组合使用:
	li=[1,2,3,4,5]

    ret=sorted(li,key=lambda x:x**3 if x==2 else x*2)
    print(ret)
    
结果:	
	[1, 3, 2, 4, 5]

filter筛选过滤

语法: filter(function,iterable)

function: 用来筛选的函数,在filter中会自动的把iterable中的元素传递给function,然后根据function返回的True或者False来判断是否保留此项数据

iterable:可迭代对象
li=[1,2,3,4,5]

ret=filter(lambda x:x>3,li)
print(list(ret))
结果:
	[4, 5]

map映射函数

映射函数

语法: map(function,iterable) 可以对可迭代对象中的每一个元素进映射,分别取执行function

计算列表中每个元素的平方,返回新列表
li=[1,2,3,4,5]
ret=map(lambda x:x*2,li)
print(list(ret))
结果:
	[2, 4, 6, 8, 10]

reduce

reduce的作用是先把列表中的前俩个元素取出计算出一个值然后临时保存着,
接下来用这个临时保存的值和列表中第三个元素进行计算,求出一个新的值将最开始
临时保存的值覆盖掉,然后在用这个新的临时值和列表中第四个元素计算.依次类推

语法:reduce(function,iterable)   
from functools import reduce

li=[1,2,3,4,5]
ret=reduce(lambda x,y:y*x,li)
print(ret)
结果为:
	120
posted @ 2019-10-23 20:17  路一  阅读(240)  评论(0编辑  收藏  举报