python基础-6 日志 迭代 推导

python日志输出 :

                   日志级别有如下几种 :

CRITICAL 50         ERROR 40            WARNING 30              INFO 20            DEBUG 10         NOTSET 0

                  当获取根Logger的时候,默认级别为NOTSET,这样会显示所有输出。当获取非根Logger的时候,根Logger的默认级别是WARNING,非根Logger会继承这个级别,只有WARNING以上的日志才会输出 

               基本用法:

               import logging           导入相应模板

              LOG_FORMAT="%(asctime)s - %(levelname)s - %(message)s"           指定logger输出格式

             logging.basicConfig(filename='error.txt',level=logging.DEBUG, format=LOG_FORMAT)       指定输出级别和输出文件  并格式化

python推导式:

           推导写法
                numbers1=[x for x in range(100) if x % 3 ==0]

                print(numbers1)

           列表推导式
                name=['bob','tom','alcie','jerry','wendy','smith']

                print(name.upper() for name in name if len(name)>3)

            字典式推导  交换values和key的至、值
                  mcase={'a':10,'b':22}
                  mcase_frequency={v:k for k,v in mcase.items()}

                  print(mcase_frequency)

            集合 推导   set集合中不能有重复的
                   squared1={x**2 for x in[1,1,2]}
                    print(squared1)


python迭代器 :

            format=LOG推导式是从一个或者多个迭代器快速简洁地创建数据结构的一种方法。它可以

            将循环和条件判断结合,从而避免语法冗长的代码ORMAT)、

       基本用法:

              from collections import Iterable        导入相应模板
             迭代器是一个可以记住遍历的位置的对象。
             迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

             迭代器有两个基本的方法:iter() 和 next()

             class IteratorDemo:
    def __init__(self,start=0,end=0):
        self.start=start
        self.end=end
    def __iter__(self):
        return self #返回自己对象本身
    def __next__(self):
        if self.start>self.end:
            i=self.start
            self.start+=1
            return i
        else:
            raise StopAsyncIteration()
it=IteratorDemo(0,5)
for i in it:
    print("=======",i)

python生成器 :

                  在 Python 中,使用了 yield 的函数被称为生成器(generator)。
                  跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。
                 在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。

                  调用一个生成器函数,返回的是一个迭代器对象

                  #第一种实现生成器的方式 推导外面写()

        #自动调用__next__
         test=(x for x in range(10))
         print(test.__next__())
         print(test.__next__())
 

             

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值