日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python全栈开发 * 14 知识点汇总 * 180530

發(fā)布時(shí)間:2025/3/21 python 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python全栈开发 * 14 知识点汇总 * 180530 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
14 生成器表達(dá)式 內(nèi)置函數(shù)
# 一.迭代器 (補(bǔ)充)
# 1.如何判斷迭代對(duì)象,迭代器
# (1).dir(obj)檢測(cè)對(duì)象有沒有iter方法,然后it=obj.__iter__() 獲取迭代器 , it.__next__() 獲取元素.
s="我一定能學(xué)會(huì)一門計(jì)算機(jī)語言"
print(dir(s)) # 可以檢測(cè)字符串有沒有iter() 方法
it=s.__iter__() # 獲取迭代器
print(it.__next__()) # 獲取元素
print(it.__next__())
#(2).引入模塊
from collections import Iterable #(str,list,dict,tuple,set)
print(isinstance(s,Iterable)) # 結(jié)果是True 是可迭代對(duì)象
print(isinstance(s,Iterable)) # 結(jié)果是True 是迭代器
#二.構(gòu)建生成器的方法:
# 1.生成器函數(shù) 有yield
# 2.生成器表達(dá)式
#三.生成器表達(dá)式
# 1.循環(huán)模式
# ( 變量 (加工后的變量) for 變量 in iterable )
l2 = [i for i in range(1, 14)] #列表推導(dǎo)式
print(l2)
gen_obj = (i for i in range(1, 14)) #生成器表達(dá)式
print(gen_obj)
print(gen_obj.__next__()) #取值
#加工后的變量
l1=["python%s期" %i for i in range(1,14)] #列表推導(dǎo)式
print(l1)
gen_obj1=("python%s期" %i for i in range(1,14)) #生成器表達(dá)式
print(gen_obj1.__next__()) #取值
# 列表推導(dǎo)式的優(yōu)點(diǎn):
#1.節(jié)省代碼;
#2.比較高大上
# 缺點(diǎn): 不好排錯(cuò).
#整體評(píng)價(jià):
# 凡是用列表推導(dǎo)構(gòu)造的對(duì)象,用其他方式都可以構(gòu)建.非常復(fù)雜列表,列表推導(dǎo)式構(gòu)建不出來.
# 2.篩選模式
#( 變量 (加工后的變量) for 變量 in iterable if 條件 )
# (1)10以內(nèi)所有數(shù)的平方
gen_ob = (i**2 for i in range(11))
print(gen_ob.__next__()) #0
print(gen_ob.__next__()) #1
print(gen_ob.__next__()) #4
#(2)30以內(nèi)所有能被3整除的數(shù)的平方
gen_ob1=(i**2 for i in range(31) if i % 3 == 0)
print(gen_ob1.__next__())
print(gen_ob1.__next__())
print(gen_ob1.__next__())
print(gen_ob1.__next__())
#(3)100 以內(nèi)所有的奇數(shù).
#方法一
gen_ob3=(i for i in range(1,101,2))
print(gen_ob3.__next__())
print(gen_ob3.__next__())
print(gen_ob3.__next__())
print(gen_ob3.__next__())
#方法二
gen_ob4=(i for i in range(101) if i % 2 == 1)
print(gen_ob4.__next__())
print(gen_ob4.__next__())
print(gen_ob4.__next__())
print(gen_ob4.__next__())
#獲取全部的值:
for i in gen_ob4:
print(i)

轉(zhuǎn)載于:https://www.cnblogs.com/J-7-H-2-F-7/p/9204140.html

總結(jié)

以上是生活随笔為你收集整理的python全栈开发 * 14 知识点汇总 * 180530的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。