一.字符串的补充
如何快速生成验证码等无序、限定个数的码
import random
import string
print(string.ascii_letters)
print(string.ascii_lowercase)
print(string.ascii_uppercase)
print(string.digits)
# abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
# abcdefghijklmnopqrstuvwxyz
# ABCDEFGHIJKLMNOPQRSTUVWXYZ
# 0123456789
print(string.ascii_letters+string.digits)
# abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
lie=string.ascii_letters+string.digits
print(random.sample(lie,5))
# ['2', 'r', 'D', 'j', 'T']
def random_code(len=4):
#写法1
# code=''
# for i in range(len):
# newcode=random.choice(lie)
# code += newcode
# return code
#写法2
return ''.join(random.sample(lie,len))
print(random_code())
#Zi26 #写法1结果
#fkwm #写法2结果
print(random_code(6))
#uuhXyX #写法1结果
#dxaLtZ #写法2结果
二.装饰器
把一个函数当作参数传递给另一个函数,返回一个替代版的函数,装饰器本质上就是一个返回函数的函数,如下面的outer
在不改变原函数的基础上,给函数增加新的功能(不止是可以装饰)
1、
def outer(f):
def inner():
print('***********')
f()
print(&