python的迭代器坑_python学习中各种问题(迭代器)

# # 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:

# print

# arg1, arg2

# arg3 = arg1 + arg2

# print

# 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值