python第十三課

2022-09-12 21:57:42 字數 3325 閱讀 6255

#迭代器

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 如果元組中的物件是可變物件,則可變物件...

第十三課 文法

文法 名詞 欲 這個句型是表現出說話人想要得到某物 或人 另外也用在詢問聽話人想要什麼時。需求的物件用助詞 表示 是 形容詞。友達 欲 我想交朋友。今 何 欲 現在你最想要的是什麼?車 欲 想要汽車。子供 欲 想要孩子嗎?欲 不想要。動詞 形 動詞 形 連線的動詞形態叫 形 例如,中 的部分就叫 形...