• 小小收获for python


    包导入问题:

      包之外导入:还是按照sys.path的搜索路径进行模块的导入

      包内的导入:python3.0+     完全区分绝对导入和相对导入

                    from . import string     #在本包内按相对路径搜索string模块

                    import string              #按sys.path的绝对路径搜索string模块,忽略包中的模块,即使包中存在该模块

            python2.7   from . import string     #与3.0一致,按相对路径搜索string模块

                    import string      #若包中有string模块,优先导入该模块,否则,搜索sys.path目录下的模块 

    数据隐藏问题:

      使用from *时,python 默认导入保存在'__all__'属性中的那些变量名;

              若无'__all__'属性,则默认导入所有不是'_x'这种形式的变量名。

    模块导入与运行问题:

      当模块运行时,默认的__name__=='__main__'

      而当模块导入时,__name__==模块名

      由此可以将模块用于不同用途的代码分隔开。

    try-except-else-finally:

      try:

        expression

      except SomeException as e:

        deal with the exception

      产生异常时,会用异常产生的参数生成一个该异常类的实例, 即e。 若无异常,则参数都为None。

    python中的异常类:

      有3 个直接从BaseException 派生的异常子类:SystemExit,KeyboardInterrupt 和Exception.

      其他的所有的内建异常都是Exception 的子类

    上下文管理协议:

      with context_expr [as var]:  with_suite

      python中的上下文管理对象:

        file

        decimal.Context

        thread.LockType

        threading.Lock

        threading.RLock

        threading.Condition

        threading.Semaphore

        threading.BoundedSemaphore

      自定义上下文对象(contextlib 模块):

        __context__()    上下文管理器调用该方法产生一个上下文对象, 有点需要注意的是上下文对象本身就可以是上下文管理器。

                   为管理器时,返回一个上下文对象,为上下文对象时, 返回自身(自我管理)。

        __enter()__      as 后以__enter__返回值来赋值,否则,丢弃返回值

        __exit()__       with 语句块执行结束,无论异常与否,都会执行该方法。

                   三个参数.若正常结束,三个参数全部是None.若异常,三个参数的值的分别等于调用sys.exc_info()函数返回的三个值:

                   类型(异常类),值(异常实例),和回溯(traceback),相应的回溯对象.

                   惯例是当你处理完异常时不返回任何值,或返回None,或返回其他布尔值为False 对象,这样可以使异常抛给你的用户来处理.

                   如果你明确的想屏蔽这个异常,返回一个布尔为True 的值.如果没有发生异常或你在处理异常后返回True,程序会继续执行with 子句后的下

                   一段代码.

  • 相关阅读:
    OpenDaylight及Postman实现VxLAN网络实验
    OpenDaylight的C/S模式实验
    OpenFlow1.3协议基于Mininet部署与验证
    Open vSwitch流表应用实战
    Open vSwitch的VxLAN隧道网络实验
    Open vSwitch的GRE隧道实验网络
    Open vSwitch使用案例扩展实验
    Beta 冲刺(1/7)
    福大软工 · 第十次作业
    福大软工 · BETA 版冲刺前准备(团队)
  • 原文地址:https://www.cnblogs.com/tigerm/p/5910782.html
Copyright © 2020-2023  润新知