python第六节

  1. 日志

Import logging

# LOG_FORMAT="%(asctime)s - %(levelname)s - %(message)s"
# logging.basicConfig(filename='aaa.txt',level=logging.DEBUG,format=LOG_FORMAT)
# def test():
#     try:
#         a=int(input("请输入一个被除数:"))
#         b=int(input("请输入一个除数:"))
#         print(a/b)
#         return
#     except (ValueError):
#         logging.debug("只能输入数字!")
#     except ZeroDivisionError:
#         logging.info("除数不能为0")
#     else:
#         print("else...")
#     finally:
#         print("程序结束")
# test()

2.推导
# number=[x for x in range(100) if x % 3 == 0]
#
# def squared(x):
#     return  x*x
# multiple=[squared(i) for i in range (30) if i % 3 is 0]
# print(multiple)
#
# mcase ={'a':10,'b':34}
# mcase_frequency = {v:k for k,v in mcase.items()}
# print(mcase_frequency)

#例一
# squared={x**2 for x in [1,1,2]}
# print(squared)
#Output:set([1,4])
#用集合推导建字符串长度的集合
# strings=['a','is','with','if','file','exception']
# {len(s) for s in strings}
#
# name=['bob','tom','alice','jerry','wendy','smith']
#
# n=[(x,y) for x in range(5) if x%2==0 for y in range(5) if y%2==1]
# print(n)
m=[[1,2,3],
    [4,5,6],
    [7,8,9]]

# x=[m[i][i] for i in range (3)]
# print(x)

n=[[2,2,2],[3,3,3],[4,4,4]]
y=[[m[a][b]*n[a][b] for b in range(3) ] for a in range(3)]
print(y)

  1. 迭代器(Iterable

两个基本方法:__iter__()  __next__()

  1. 生成器

第一种方式:将列表的[]改为(),里面可以写推导

生成器只要调用next()方法即可得到下一个值

第二种方式:通过斐波那契数列

def feibonaqie():

a=b=1

print(a)

print(b)

for i in range(7):

    yield(a+b)

a,b=b,a+b

F=feibonaqie()

print(F)

调用next()方法 

猜你喜欢

转载自www.cnblogs.com/TreasureQiu/p/9144467.html