python:内建函数、range()、map()、filter()、reduce()、sorted()、集合的使用、functools中的函数使用、MD5加密

内建函数
range() map()...


map(function,sequence[,sequence,...])-->list
返回值是list
参数序列中的每一个元素分别调用function函数,返回包含每次function函数返回值的list

#函数需要一个参数
map(lambda x:x*x,[1,2,3])

#函数需要两个参数
map(lambda x,y:x+y,[1,2,3],[4,5,6])

#前面的函数,普通函数和lambda都可以
def f1(x,y):
	return x*y
l1=[1,2,3,4]
l2=[2,3,32,3]
l3=map(f1,l1,l2)
print(list(l3	))

filter()函数

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

re=filter(lambda x:x%2,[1,2,3,4,5])
print(list(re))#[1, 3, 5]

reduce函数
对参数序列中的元素进行累积

from functools import reduce
reduce(lambda x,y:x+y,[1,2,3,4])#10
'''过程 x :y 
1,2
3,3
6,4 

'''
reduce(lambda x,y:x+y,['aa','bb','vv'],'dd')
'''过程 x,y
dd,aa
ddaa ,bb
ddaabb, vv

'''

sorted()排序方法

a=[3,2,54,36,8,7,9,67,12]
a.sort()
a.sort(reverse=True)
print(sorted(a))#现在的排序方法 [2, 3, 7, 8, 9, 12, 36, 54, 67]

集合的使用 ,可以使用交、并、差、对称差集

#集合的使用:
#集合可以取交集
s1={'a','b','v','h','l',0}
s2={'a','b','v','h'}
print(s1&s2)#{'v', 'a', 'h', 'b'}
print(s1|s2)#{0, 'h', 'l', 'a', 'b', 'v'}
print(s1-s2)#{0, 'l'}
print(s1^s2)#{0, 'l'} 对称差集在s1 或s2中,但不会同时出现在二者中
print(len(s1))#6

functools中函数的使用

import functools
print(dir(functools)) #里面的常用的函数
'''
['MappingProxyType', 'RLock', 'WRAPPER_ASSIGNMENTS', 'WRAPPER_UPDATES', 'WeakKeyDictionary', 
'_CacheInfo', '_HashedSeq', '__all__', '__builtins__', '__cached__', '__doc__', 
'__file__', '__loader__', '__name__', '__package__', '__spec__', '_c3_merge', 
'_c3_mro', '_compose_mro', '_convert', '_find_impl', '_ge_from_gt', '_ge_from_le', 
'_ge_from_lt', '_gt_from_ge', '_gt_from_le', '_gt_from_lt', '_le_from_ge', 
'_le_from_gt', '_le_from_lt', '_lru_cache_wrapper', '_lt_from_ge', '_lt_from_gt', 
'_lt_from_le', '_make_key', 'cmp_to_key', 'get_cache_token', 'lru_cache', 'namedtuple', 'partial',
 'partialmethod', 'reduce', 'singledispatch', 'total_ordering', 'update_wrapper', 'wraps']
'''

functools中的函数:

partial()函数:将函数的某些默认参数设置,返回一个新函数

#简单介绍下里面的函数
#partial:把一个函数的某些参数设置默认值,返回一个新的函数,调用这个新函数会更简单
def showarg(*args,**kw):
	print(args)
	print(kw)

p1=functools.partial(showarg,1,2,3)
p1()
'''
(1, 2, 3)
{}
'''
p1(4,5,6)
'''
(1, 2, 3, 4, 5, 6)
{}
'''
p1(a='python',b='itcast')
'''
(1, 2, 3)
{'a': 'python', 'b': 'itcast'}
'''

wraps函数,使用装饰器后的函数其实已经是另外一个函数了(函数名等函数属性会发生改变)

使用前:

def function(func):
	"这里做个测试,没有用wraps函数"
	def wrapper():
		"要被装饰的函数"
		print("note something")
		return func()
	return wrapper

@function
def test():
	"这里是test()函数调用说明"
	print('---test---')

test()
print(test.__doc__)#这里显示调用函数的说明,但是没有显示调用的test的函数说明
'''
note something
---test---
要被装饰的函数
'''

使用后:

def functionW(func):
	"这里做个测试,没有用wraps函数"
	@functools.wraps(func)
	def wrapper():
		"要被装饰的函数"
		print("note something")
		return func()
	return wrapper

@functionW
def testW():
	"这里是test()函数调用说明"
	print('---test---')

testW()
print(testW.__doc__)
'''
note something
---test---
这里是test()函数调用说明
'''


MD5加密(message-digest algorithm 5(sha256))

import hashlib
m=hashlib.md5()
print(m)
m.update(b"hello")
print(m.hexdigest())#得到一个128位,128/8=16个字节,1个字节通过2个十六进制表示,所以为32位十六进制表示
'''
<md5 HASH object @ 0x0000000000B61648>
5d41402abc4b2a76b9719d911017c592
'''



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一枚努力的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值