# # def run():
# # print('run1')
# # yield 1
# # print('run2')
# # yield 2
# # print('run3')
# # yield 3
# # t = run()
# # next(t )
# # t.send('5555')
# # next(t )
# # # a = 2
# # # a += 2
# # # print(a)
# # # next(run_next)
#
# # t = (1,2,3,5)
# # t1 = (i for i in t)
# # t2 = (i for i in t1)
# # # print(list(t1))
# # # print(list(t2))
# # def func():
# # print('func')
# # def funca(funca):
# # print(funca)
# # func()
# # print(funca(func))
# def bar():
# print('from bar')
# def foo():
# print('from foo')
# bar()
#
#
#
#
#
# foo()
#
# def func3(dic):
# d={}
# for k,v in dic.items():
# if len(v) > 2:
# d[k]=v[0:2]
# return d
# print(func3({'k1':'abcdef','k2':[1,2,3,4],'k3':('a')}))
# def foo(x, y, *args, a=1, b, **kwargs):
# print(x, y)
# print(args)
# print(a)
# print(b)
# print(kwargs)
#
#
# foo(1, 2, 3, 4, 5, b=3, c=4, d=5)
#
# def foo():
# print('foo')
# def bar():
# print('bar')
# dic={
# 'foo1':foo,
# 'bar1':bar,
# }
# for i in dic.:
# print(i)
# while True:
# choice=input('>>: ').strip()
# if choice in dic:
# dic[choice]()
# def f1():
# def f2():
# def f3():
# print('from f3')
# f3()
# f2()
#
# f1()
# # f3()
#
# from urllib.request import urlopen
#
# def index(url):
# def get():
# return urlopen(url).read()
# return get
#
# # baidu=index('http://www.baidu.com')
# # print(baidu().decode('utf-8'))
# from functools import wraps
# def deco(func):
# @wraps(func) #加在最内层函数正上方
# def wrapper(*args,**kwargs):
# return func(*args,**kwargs)
# return wrapper
#
# @deco
# def index():
# '''哈哈哈哈'''
# print('from index')
#
# print(index.__doc__)
# import time
# def timmer(func):
# def wrapper(*args,**kwargs):
# start_time=time.time()
# res=func(*args,**kwargs)
# stop_time=time.time()
# print('run time is %s' %(stop_time-start_time))
# return res
# return wrapper
# @timmer
# def foo():
# time.sleep(3)
# print('from foo')
# foo()
# def func():
# print('====>first')
# # return 20
# yield 1
# # print('====>second')
# # return 30
# # print('====>third')
# # return 40
# # print('====>end')
#
# g=func()
# print(g)
# def my_range(start,stop,step= 3):
# while start < stop:
# # yield start
# start+=step
# a = my_range(1,7,2)
# print(list(a))
# # print(a())
# def func(arg1, arg2):
# if arg1 == 0:
# arg1, arg2
# arg3 = arg1 + arg2
# arg3
# func(arg2, arg3)
# func(0, 1)
# li = [13, 22, 6, 99, 11]
#
# for i in range(1,5):
# for m in range(len(li)-i):
# if li[m] > li[m+1]:
# temp = li[m+1]
# li[m+1] = li[m]
# li[m] = temp
#
#
# from collections import Iterable
#
# l = [1, 2, 3, 4]
# t = (1, 2, 3, 4)
# d = {1: 2, 3: 4}
# s = {1, 2, 3, 4}
# print(isinstance(l, Iterable))
# print(isinstance(t, Iterable))
# print(isinstance(d, Iterable))
# print(isinstance(s, Iterable))
# iter_l = [1,2,3,4,5,6].__iter__()
# print(iter_l.__length_hint__())
# print(set(dir([1,2].__iter__()))-set(dir([1,2])))
# l = [1,2,3,4]
# l_iter = l.__iter__()
# while True:
# try:
# item = l_iter.__next__()
# print(item)
# except StopIteration:
# break
# print('__next__' in dir(range(12))) #查看'__next__'是不是在range()方法执行之后内部是否有__next__
# print('__iter__' in dir(range(12)))
# from collections import Iterator
#
# # print(isinstance(range(100000000), Iterator)) # 验证range执行之后得到的结果不是一个迭代器
# import time
# def genrator_fun1():
# a = 1000
# print('现在定义了a变量')
# yield 55
# b = 2888
# print('现在又定义了b变量')
# yield b
#
# g1 = genrator_fun1()
# print('g1 : ',g1) #打印g1可以发现g1就是一个生成器
# print('-'*20) #我是华丽的分割线
# print(next(g1))
# time.sleep(1) #sleep一秒看清执行过程
# print(next(g1))
# def produce():
# """生产衣服"""
# for i in range(2000000):
# yield "生产了第%s件衣服"%i
# print(list(produce()))
#
# def produce1():
# """生产衣服"""
# for i in range(2000000):
# if i> 10:
# return i
# print(produce)
# product_g = produce()
# a = produce1()
# print(product_g)
# print(a)
# # # print(product_g.__next__()) #要一件衣服
# # print(product_g.__next__()) #再要一件衣服
# # print(product_g.__next__()) #再要一件衣服
# num = 0
# for i in product_g: #要一批衣服,比如5件
# print(i)
# num +=1
# if num == 5:
# break