zoukankan      html  css  js  c++  java
  • python其他

    其他

      1.迭代器

        定义:帮助对某类对象(str/list/tuple/dict/set)中的元素进行逐一获取

        可迭代对象:内部具有__iter__()方法且返回一个迭代地址。(可被for循环就是可迭代对象)

    #列表转换迭代器
    v1 = [1,2,3,4]
    v2 = iter(v1)
    var = v2.__next__()
    print(val)    #进行第一次迭代输出1,执行几次迭代就输出几次
    #迭代器想要获取每一个值,反复调用val = v2.__next__(),直到报错Lstoplteration错误,表示已经迭代完毕
    
    #将一个对象变成可迭代对象,在类中实现__iter__方法且返回一个迭代器(生成器)
    class Foo1:                                        class Foo2:
        def __iter__(self):                            def __iter__(self):
            return iter([1,2,3,4])                        yield 1
    obj = Foo1()                                             yield 2
                                                             obj = Foo2()

      2.生成器

        定义:函数中如果存在yield,那么该函数就是一个生成器,调用生成器函数会返回一个生成器

           生成器只有被for循环时,内部代码才会执行,每次循环都会获取yield返回值

           return和yield同时存在时还是属于生成器

    #生成器
    def func():
        arg = arg +1
        yield 1
        yield 2

      3.异常处理

    #基本格式
    try:
        int('asd')
        v = []
        v[100]    #超出索引范围
    except ValueError as e:    #判断是不是这种错误
        pass
    except IndexError as e:
        pass
    except Exception as e:
        print(e)    #e是Exception类的对象,对象中有一个错误信息
    finally:
        print('无论对错都会执行的代码')
    
    #主动触发异常
    try:
        int('123')
        raise Exception('111')    #主动抛出异常
    except Exception as e:
        print(e)    #输出111
    
    #自定义异常
    class MyException(Exception):    #继承Excetion
        pass
    try:
        raise MyException();
    except MyException as e:
        print(e)

      4.项目的目录结构

        简单的脚本:在引入模块时,默认名字短的在上

        单可执行文件:if __name__ = '__main__':

                 start()

        多可执行文件:bin(执行文件)  conf(配置settings)  src(业务逻辑)  db(数据文件)  lib(扩展模块)  log(日志文件)

      5.报错记录

        StopIteration:迭代完毕无可迭代对象后报错

        KeyError:查询的键不在字典中报错

        SyntaxError:语句错误(变量名错误、结构错误)

        TypeError:类型错误

  • 相关阅读:
    Django 07模型层—单表操作(增删改查)
    Django 05(模板-变量、过滤器、 标签 )
    Django 04(url与views相关内容)
    路由基础及反向解析
    Django项目基础
    Django框架导读
    异常处理
    Docker
    Docker基本概念
    Docker架构
  • 原文地址:https://www.cnblogs.com/parallel-Y/p/10986751.html
Copyright © 2011-2022 走看看