Python使用细节及建议

来源:互联网 发布:网络延时查看 编辑:程序博客网 时间:2024/05/17 01:58

Python模块:

重新载入模块:

在Python2.X中,可以通过内置函数reload重新载入模块。reload可以在模块被修改的情况下不必关闭Python而重新载入模块。在使用reload重载入模块时,该模块必须事先已经被导入。
在Python3.X中,reload函数已经被删除,要重新再入模块,则必须使用imp模块中的reload函数(如:imp.reload(os) #重新载入os模块)。

Python在哪里查找模块?

编写好的模块只有被Python找到才能被导入。

在导入模块时,Python解释器首先在当前目录中查找要导入的模块。如果未找到模块,则Python解释器会从sys模块中path变量指定的目录中查找导入模块。如果在以上所有目录中都未找到导入的模块,则会输出出错信息。

在脚本中可以向sys.path添加模块查找路径:
例如:

import osimport sysmodulepath=os.getcwd()+'\\module'       #将当前目录下的module子目录添加到sys.path中sys.path.append(modulepath)print(sys.path)import mymodule                         #从moudle目录中导入mymoudle模块

是否需要编译模块:

当调用或运行完一个模块后,当前目录下会生成一个编译成的字节码文件(.pyc)。

虽然Python是脚本语言,但Python可以将脚本语言编译成字节码的形式。对于模块,Python总是在第一次调用后就将其编译成字节码文件,以提高脚本的启动速度。

对于非模块的脚本,Python不会在运行脚本后将其编译成字节码的形式。如果想将其编译,可以使用py_compile模块:
例如:

#file:bianyi.py#import py_compile       #导入py_compile模块py_compile.compile('usemodule.py','usemodule.pyc')  #编译 usemodule.py

注意:在Python3中,如果在py_compile.compile函数中不指定第2个参数,则在当前目录新建一个名为“pycache”的目录,并在这个目录中生成“被编译模块名.cpython-32.pyc”的pytc字节码文件。

脚本优化编译:

可以通过Python的命令行选项将脚本优化编译。Python编译的优化选项有两个:

-O 该选项对脚本的优化不多,编译后的脚本以“.pyo”为扩展名。凡是以“.pyo”为扩展名的Python字节码都是经过优化的。
-OO 该选项对脚本的优化的程度很大。使用该标志可以使编译的Python脚本更小。使用该选项可以导致脚本运行错误,因此,谨慎使用。

例如:

>>>python -O compile.py>>>python -OO compile.py

如何查看模块提供的函数名:

使用内置函数dir()来查看

dir([object])       #object 可选参数,要列举的模块名

例如:

    >>>import os    >>>dir(os)      #获得os模块中的名字和函数或者:    >>>dir()        #获得当前脚本中所有名字列表

Psyco:

用 Psyco 让 Python 运行得像 C 一样快。
这玩意儿没用过,只是听说过,以后用到了再学习补充。

参考文章:
https://www.ibm.com/developerworks/cn/linux/sdk/python/charm-28/


Python列表

从列表中创建集合是Python语言得到列表中唯一元素值的最快方法。

a = [1,2,3,3,4,5,5,5,5,6]b = set(a)b
原创粉丝点击