日誌:
importlogging推導:log_format="%(asctime)s - %(levelname)s - %(message)s"logging.basicconfig(level=logging.debug,format=log_format)
deftest():
try:
a=int(input("請輸入乙個被除數:"))
b=int(input("請輸入乙個除數:"))
print(a/b)
returnexcept(valueerror):
logging.debug("只能輸入數字")
exceptzerodivisionerror:
logging.info("除數不能為0")
else:
print("else...")
finally:
print("程式結束")
test()
#列表推導迭代器:numbers=
# for x in range(100):
# if x % 3==0:
#用推導實現 要用中括號括起來
numbers=[xforxinrange(100)ifx % 3==0]
print(numbers)
#推導也可以裡面巢狀乙個函式
defsquared(x):
returnx*x
multiples=[squared(i)foriinrange(30)ifi % 3
is0]
print(multiples)
#字典推導 用大括號括起來
mcase=
mcase_frequency=
print(mcase_frequency)
#集合推導
squared=
print(squared) #集合裡面都是唯一的不能重複
#練習:
squares=[x**2
forxinrange(10)]
print(squares)
#把長度大於3的名字輸出大寫
names=['bob','tom','alice','jerry','wendy','smith']
aaa=[name.upper()fornameinnamesiflen(name)>3]
print(aaa)
#輸出(x,y)x0-5 偶數 y 為0-5 奇數
xx=[(x,y)forxinrange(5)ifx % 2==0
foryinrange(5)ify % 2==1]
print(xx)
#矩陣每個元素相乘
m=[[1,2,3],[4,5,6],[7,8,9]]
n=[[2,2,2],[3,3,3],[4,4,4]]
list=[[m[i][0]*n[i][0],m[i][1]*n[i][1],m[i][2]*n[i][2]]foriinrange(len(m))]
print(list)
fromcollectionsimportiterable生成器:#迭代器有兩個基本方法:__iter__()和__next__()
classinterratordemo:
def__init__(self,start=0,end=0):
self.start=start
self.end=end
def__iter__(self):
returnself
#返回自己物件本身
def__next__(self):
#得到當前的指標start,讓start位移
ifself.starti=self.start#當前下標
self.start+=1
#獲取下一次下標
returni
else:
raisestopiteration()
it=interratordemo(0,5)
print(it.__next__())
print(it.__next__())
print(it.__next__())
print(it.__next__())
print(it.__next__())
#生成器#1.第一種實現生成器的方式,推導外面寫()
test=(xforxinrange(10))#中括號變成小括號 就是推導變成生成器了
print(test.__next__())#得到每乙個值
#2.第二種實現生成器的方式
deffeibonaqie():#菲波那切數列
a=b=1
print(a)
print(b)
foriinrange(7):
yield(a+b)
a,b=b,a+b
f=feibonaqie()
# print(f.__next__())
foriinf:
print(i)
Python的推導,迭代器,日誌
推導式包含 列表推導式 字典推導式 集合推導式 巢狀列表推導式 列表 例 names bob tom alice jerry wendy smith print name.upper for name in names if len name 3 輸出 alice jerry wendy smith...
Python推導 迭代 日誌。
迭代是python最強大的功能之一,是訪問集合元素的一種方式。迭代器是乙個可以記住遍歷的位置的物件。迭代器物件從集合的第乙個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。迭代器有兩個基本的方法 iter 和 next 字串,列表或元組物件都可用於建立迭代器 classrewrit...
Python異常 推導特性 迭代器 生成器
一.異常 1.語法 try 塊except 異常型別 捕獲異常後的操作 else 沒有異常發生,進入else finally 無論是否發生異常,finally總是進入 def testexception try a int input 請輸入被除數 b int input 請輸入除數 c a b e...