python内置函数

 

max, min # 求最大值,求最小值,(基于for循环)

def index(name):

return d[name]

print(max(d,key=index)) # 因为比对的是key,于是就去对比字符串的第一位的aiscc表

# 如果不给key,他就会直接比对,如果加了key,他就按照函数进行比对

# 他会自动给函数加括号,然后对比key, 但是返回还是d

 

# 没有key,对比d, 返回d

# 有key 对比key, 返回d

 

# 这里就可以用匿名函数

print(max(d,key=lambda name:d[name]))

比较资薪 返回人名字

 

 

 

 

map:

# map 映射

l = [1,2,3,4,5,6]

# 给每个值加一

# print(list('hello'))

# >>>['h','e','l','l','o'

print(list(map(lambda x:x+1,l))) # map也是基于for循环的

print(list(map(lambda x:x+5,l))) # 加5

 

 

 

 

zip:

# zip 拉链(将两边拉起来)(基于for循环)

l1 = [1,2,3,4]

l2 = ['cly','byc','cqz']

# l3 = ['a','b','c']

print(list(zip(l1,l2)))

# >>>[(1, 'cly'), (2, 'byc'), (3, 'cqz')]

 

# 如果有一个列表(任意)多了,就会拉不动了,不会报错,于是就不拉了

# 它能一次性拉多个,随便拉几个,

 

 

 

 

filter

# 类似于过滤(基于for循环)

l = [1,2,3,4,5,6]

print(list(filter(lambda x:x != 3,l)))

 

 

sorted

# 从小到大排序

l = ['cly','byc','cqz']

print(sorted(l,reverse=True))

# 从小到大排序。使用reverse=True 可以反序

 

 

# reduce

# 多个变一个(相加)

from functools import reduce

l = [1,2,3,4,5,6]

print(reduce(lambda x,y:x+y,l))

# 先取两个,然后每次只取一个,因为第一次只有一个的话没法加

 

l = [1,2,3,4,5,6]

print(reduce(lambda x,y:x+y,l,6000))

# 也可以放入初始值(6000),如果没有初始值,就会用上面的情况(第一次取两个)

 

 

 

# abs

# 求绝对值

print(abs(11))

print(abs(-11))

 

# all, any

l = [0,1,2]

print(all(l)) # 必须里面的值都是True,只要有一个Fales就返回False

print(any(l)) # 只要有一个是True,就返回True

 

# bin , oct , hex

# 进制转换

print(bin(10)) # 将十进制转换为二进制

print(oct(10)) # 将十进制转换为八进制

print(hex(10)) # 将十进制转换为十六进制

 

# byes()

# 转换为二进制

s = '123我'

print(s.encode('utf-8'))

print(bytes(s,encoding='utf-8'))

 

# callable

# 判断是不是可以调用的

# 可调用的(可以加括号执行相应功能的)

l = [1,2,3,4]

def func():

pass

print(callable(l))

print(callable(func))

>>>

False

True

 

# chr ord

# chr # 将数字转化为utf-8码表对应的字符

# ord # 将字符串按照utf-8表转换为对应数字

 

print(chr(25101))

print(ord('我'))

 

# dir() (**)

# 获取当前对象名称空间中的名字(打印它可以使用的方法)

# 返回当前对象可调用的方法

l = [1,2,3,4]

print(dir(l))

 

 

# divmod 分页器

# 网页常用,

# 每页展示几条……

# divmod : 就是100/11 得到需要多少页,还有多少条

print(divmod(100,11))

# >>> (9,1)

total_num,more = divmod(101,10) # 用了解压赋值

if more:

total_num += 1

print('需要页数:',total_num)

 

# enumerate 枚举

l = ['a','b']

for i in enumerate(l):

print(i)

for i in enumerate(l,1): # 设置开始的序列号

print(i)

 

# eval exec

#

# eval()

# 缺陷,不能识别逻辑代码 x = 1 这种,只能识别简单的python代码,(1+2)这种可以识别,

# 去掉字符串的引号

# 只能识别简单的语句

 

# exec()

# 用的更多

# 他能识别逻辑语句(for循环都可以识别)

# 能识别困难一点的

#

s = 'print("hello,world")'

eval(s)

exec(s)

 

globals,locals

# globals全局变量

# locals 局部名称空间的变量(如果放在全局,就打印全局变量)

def index():

name = '局部的name'

print(locals())

print(globals())

print('---------')

index()

 

# help

# 打印函数的注释

def func1():

'''

只是函数

:return:

'''

print(help(func1))

 

# isinstance

# 判断对象是不是某个数据类型

n = 1

print(type(n))

print(isinstance(n,int)) # 推荐

print(type(n) is int) # 不推荐

 

# pow 求次方

print(pow(10,2))

 

# round

# 四舍五入(就判断一位)

print(round(3.59))

 

 

posted @ 2019-07-15 21:54  Pscly  阅读(169)  评论(0编辑  收藏  举报