# 迭代器 # l=['die','sunzi','cat'] # iter_1=l.__iter__() # 把数据变成一个可迭代对象 # print(iter_1) # print(iter_1.__next__()) # print(iter_1.__next__()) # print(next(iter_1)) # next调用的就是iter_l._iter_()方法 # 生成器,这种数据类型自动实现了迭代器协议 # 写成函数的形式把生成器 # def test(): # yield 1 # yield 2 # yield 3 # g=test() # print(g) # print(g.__next__()) # print(g.__next__()) # 三元运算 # name='cat' # print('DC' if name=='cat' else 'dog') # # # 列表解析 # egg_list=[] # for i in range(10): # egg_list.append('鸡蛋%s' %i) # print(egg_list) # # 列表解析简单写法 # l=['鸡蛋%s' %i for i in range(10)] # print(l) # # 列表解析也可以写三元表达式 # l1=['鸡蛋%s' %i for i in range(10) if i >5] # 列表中的元素放到内存中,如果元素过多就不合适了 # print(l1) # # # 把生成器写成表达式的形式,它比列表更节省内存,生成器自生成了迭代器协议 # egg=('鸡蛋%s' %i for i in range(10)) # print(egg) # print(egg.__next__()) # print(next(egg)) # # print(sum(i for i in range(1000))) # 定义生成器函数来使用 # def product(): # for i in range(100): # print("开始了") # yield '正在生产产品%s' %i # print('卖产品') # product1=product() # print(product1.__next__()) # print(product1.__next__()) # 函数的闭包以及认证功能 # user_list=[ # {'name':'cat','passwd':'123'}, # {'name':'dog','passwd':'123'}, # {'name':'cow','passwd':'123'}, # {'name':'boy','passwd':'123'} # ] # # current_dic={'username':None,'login':False} # def auth_func(func): # def wrapper(*args,**kwargs): # if current_dic['username'] and current_dic['login']: # res=func(*args,**kwargs) # return res # username=input('用户名:').strip() # passwd=input('密码:').strip() # for user_dic in user_list: # if username==user_dic['name'] and passwd==user_dic['passwd']: # current_dic['username']=username # current_dic['login']=True # res=func(*args,**kwargs) # return res # else: # print('用户名或者密码错误') # return wrapper # # @auth_func # def index(): # print("欢迎来到京东主页") # # @auth_func # def home(name): # print("这是家目录") # # @auth_func # def shopping_car(name): # print("%s购物车里有[%s,%s,%s]" %(name,'奶茶','妹妹','娃娃')) # def order(): # pass # index() # home('产品经理') # shopping_car('产品经理') # 查询功能 # def fetch(data): # print('查询功能:') # print('\033[1:43m用户输入的数据是:\033[0m',data) # backend_data='backend %s' %data # with open('haproxy.conf','r') as read_f: # tag=False # res=[] # for read_line in read_f: # if read_line.strip()==backend_data: # tag=True # continue # if tag and read_line.startswith('backend'): # break # if tag: # print('\033[1;45m%s\033[0m' %read_line,end=' ') # res.append(read_line) # return res # 把查询到的数据打印出来 # # # # def add(): # pass # def change(): # print('这是修改功能') # def delete(): # pass # # if __name__=='__main__': # msg=''' # 1:查询 # 2:添加 # 3:修改 # 4:删除 # 5:退出 # ''' # msg_dic={ # '1':fetch, # '2':add, # '3':change, # '4':delete, # } # while True: # print(msg) # choice=input('请输入你的选项:').strip() # if not choice:continue # if choice=='5':break # data=input('输入你的数据:').strip() # res=msg_dic[choice](data) # print(res)
# 模块时间模块 # import time # print(sys.path) # print(time.time()) # 1976年至今的秒数的表达 # print(time.localtime()) # print(time.gmtime()) # print(time.mktime(time.localtime())) # # 将结构化的时间转换成字符串时间 # print(time.strftime('%Y-%m-%d %X',time.localtime())) # # 将字符串时间转换为结构化时间 # print(time.strftime('2018:10:25:12:10:28' ' ' '%Y-%m-%d-%X')) # import random # # 打印0-1的浮点数 # print(random.random()) # # 打印1-10整形的随机数 # print(random.randint(1,10)) # # 对可迭代对象里面的元素随机选取 # print(random.choice([11,22,33,44,55]))
利用随机数的生成来生成验证码(数字,字母组合)
import random
def v_code():
ret=''
for i in range(5):
num=random.randint(0,9)
alf=chr(random.randint(65,122)) # 生成随机的字母
s=str(random.choice([num,alf]))
ret+=s
return ret
print(v_code())
输出结果: