#迭代器l=[1,2,3]
#索引#迴圈 for
#for i in l:
# i
## for k in dic:
# pass
#enumerate
# print(dir())#告訴我列表擁有的所有方法
# print(dir({}))#告訴我列表擁有的所有方法
# print(dir(''))#告訴我列表擁有的所有方法
# print(dir(range(10)))#告訴我列表擁有的所有方法
# ret=set(dir())&set(dir({}))&set(dir(''))&set(dir(range(10)))
# print(ret)#iterable
# print('__iter__'in dir(int))
# print('__iter__'in dir(bool))
# print('__iter__'in dir(list))
# print('__iter__'in dir(dict))
# print('__iter__'in dir(set))
# print('__iter__'in dir(tuple))
# print('__iter__'in dir(enumerate()))
# print('__iter__'in dir(range(1)))
#只要能被for迴圈的資料型別 就一定擁有__iter__方法
# print(.__iter__())
#乙個列表執行了__iter__()之後的返回值就是乙個迭代器
# print(dir())
# print(dir(.__iter__()))
# print(set(dir(.__iter__()))-set(dir()))
# print([l,'a','bbb'].__iter__().__length_hint__()) # 元素個數
# l=[1,2,3]
# iterator=l.__iter__()
# print(iterator.__next__())
# print(iterator.__next__())
# print(iterator.__next__())
# print(iterator.__next__())
#lterable 可迭代的--->_iter_ #只要含有__iter__的方法都是可迭代的
#.__iter__()迭代器 -->__next__#通過next就可以從迭代器中乙個乙個的取值
#只要含有__iter__方法的都是可迭代的---可迭代協議
#迭代器協議--內部含有__next__和__iter__方法的就是迭代器
# print('__iter__'in dir(.__iter__()))
# print('__next_'in dir(.__iter__()))
#迭代器的概念
#迭代器協議---內含有__next__和__iter__方法的就是迭代器
#迭代器協議和可迭代協議
#可以被for迴圈的都是可迭代的
#可迭代的內部都有__iter__方法
#只要是迭代器一定可迭代
#可迭代的.__iter__()方法就可以得到乙個迭代器
#迭代器中的__next__()方法可以乙個乙個的獲取值
#for迴圈其實就是在使用迭代器
#iterator
#可迭代物件
# print(.__iter__())
# print(range(20))
#for
#只有是可迭代物件的時侯才能用for
#當我們遇到乙個新的變數,不確定不能for迴圈的時侯,就判斷它是否可迭代
#迭代器的好處
#從容器型別中乙個乙個的取值,會把所的的值都取到
#節省記憶體空間
#迭代器並不會有記憶體中再占用一大塊記憶體
#而是隨著迴圈每次生成乙個
#每次next每次給我乙個
#rnge
#f# l=[1,2,3,45]
# iterator=l.__iter__()
# while true:
# print(iterator.__next__())
# print(range(100000000000))
# print(list(range(100000000)))
#生成器
# 生成器函式
# def generator():
# print(1)
# return 'a'
## ret=generator()
# print(ret)
#只要含有yield關鍵字的函式都是生成器函式
#yield不能和return共用並且需要寫在函式內
# def generator():
# print(1)
# yield 'a'
#生成器函式:執行之後得到乙個生成器作為返回值
# ret=generator()
# print(ret)
# print(ret.__next__())
def generator():
print(1)
yield 'a'
print(2)
yield 'b'
yield 'c'
g=generator()
for i in g:
print(i)
# ret=g.__next__()
# print(ret)
# ret=g.__next__()
# print(ret)
# ret=g.__next__()
# print(ret)
#姓哈哈%i
def wahaha():
for i in range(200):
yield '姓哈哈%s'%i
g=wahaha()
count=0
for i in g:
print(i)
if count > 50:
print(i)
if count > 50:
break
print('*******',g.__next__())
for i in g:
count+=1
print(i)
if count > 50:
print(i)
if count > 50:
break
第十三課 模組
第十三課 模組 在python中,乙個py檔案就是乙個模組,檔名為 py模組名則是 匯入模組可以引用模組中已經寫好的功能。1.import語句 檔名 foo.py x 1def get print x def change global x x 0要想在另外乙個py檔案中引用foo.py中的功能,需...
python基礎第十三課 元組
元組的建立方式 元組的遍歷 python內建的資料結構之一,是乙個不可變序列 t python hello 90 t python hello 90 t tuple hello python 123 t 10,t python 10,20 123 t 1 30 如果元組中的物件是可變物件,則可變物件...
第十三課 文法
文法 名詞 欲 這個句型是表現出說話人想要得到某物 或人 另外也用在詢問聽話人想要什麼時。需求的物件用助詞 表示 是 形容詞。友達 欲 我想交朋友。今 何 欲 現在你最想要的是什麼?車 欲 想要汽車。子供 欲 想要孩子嗎?欲 不想要。動詞 形 動詞 形 連線的動詞形態叫 形 例如,中 的部分就叫 形...