包导入问题:

  包之外导入:还是按照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 子句后的下

               一段代码.

小小收获for python的更多相关文章

  1. 小小聊天室 Python实现

    相对于Java方式的聊天室,Python同样可以做得到.而且可以做的更加的优雅.想必少了那么多的各种流的Python Socket,你一定会喜欢的. 至于知识点相关的内容,这里就不多说了. UDP方式 ...

  2. python爬虫的一些小小问题、python动态正则表达式

    1.首先urllib不能用了,需要引入的是urllib2,正则re. #coding=utf-8 # import urllib import urllib2 import re def getHtm ...

  3. 今天 小小收获, 看了 sam Xiao 的好帖子 明白了 泛型委托 的 意思。

    Func<int,int,int> cAdd1 = (int x, int y) => { return x + y; }; int result= aAdd1(1,2); cons ...

  4. 小小见解之python循环依赖

    a.py from b import b print '---------this is module a.py----------' def a(): print "hello, a&qu ...

  5. 魔咒,90%未学满三个月Python编程的朋友都会出错!

    Python语言虽然优美,简洁和强大,但是也有很多坑,一不小心就会掉进去.我学Python的时候也遇到过,今天总结一下,希望对大家能有收获! Python的默认参数就被创建 一次,而不是每次调用函数的 ...

  6. 【python】配置文件

    来源:http://developer.51cto.com/art/201003/189885.htm python 读写配置文件在实际应用中具有十分强大的功能,在实际的操作中也有相当简捷的操作方案, ...

  7. python的ConfigParser读取设置配置文件

    python 读写配置文件在实际应用中具有十分强大的功能,在实际的操作中也有相当简捷的操作方案,以下的文章就是对python 读写配置文件的具体方案的介绍,望你浏览完下面的文章会有所收获. pytho ...

  8. SQLite 版本引发的 Python 程序调用问题

    问题 在跑 OpenStack functional 功能测试的时候有两个用例过不去. nova.tests.functional.db.test_resource_provider.Resource ...

  9. python中*args和**kwargs学习

    *args 和 **kwargs 经常看到,但是一脸懵逼 ,今天终于有收获了 """ python 函数的入参经常能看到这样一种情况 *args 或者是 **kwargs ...

随机推荐

  1. 一些对新手有用的css技巧

    一.表单部分 1.禁止textarea文本域的缩放 resize:none; 2.去除初始化textarea下拉条 overflow:auto; 3.如何让表单中的选项按钮,点击文字也能选中? < ...

  2. js代码实现下拉菜单

    效果 js代码: <script type="text/javascript"> function ShowSub(li) {//函数定义 var subMenu = ...

  3. android studio 中 添加.so 文件

    传送门: http://jingyan.baidu.com/article/e3c78d644baaf23c4d85f57d.html 注意在Build.gradle中 添加的位置

  4. Single Number

    Given an array of integers, every element appears twice except for one. Find that single one.Your al ...

  5. SpringMVC——返回JSON数据&&文件上传下载

    --------------------------------------------返回JSON数据------------------------------------------------ ...

  6. 怎么样修改PHPStorm中文件修改后标签和文件名的颜色与背景色

    自从最近在PHPstrom里引入Git,并且使用MONOKAI_SUBLIME主题之后 ,当文件在PHPstrom中进行编辑,文档内容变化时,左侧项目文件列表中的文件名颜色以及右侧编辑区域标签卡的文件 ...

  7. http请求报错

    手机端上传base64位图片java后台接受 手机端post方式发送 后台报错: Error parsing HTTP request header Note: further occurrences ...

  8. chp-adapter 文件结构

    1.需要接口给chp推送数据的Bean,写到/chp-adapter/src/main/java/com/creditharmony/adapter/service 文件夹中,并添加父类,供chp业务 ...

  9. 定制个性化码表技术 ibus

    在不同用户的工作环境中,都会根据各自使用的字符集的不同,而需要定制优化各自的输入法码表,例如,在GB18030中的大量汉字,或许因为输入法码表的老旧,而难于利用自己熟悉的“五笔”方法快速录入,同样,需 ...

  10. MyBatis入门学习教程-调用存储过程

    一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据库表和存储过程 create table p_user( id int primary key auto_incr ...