• python学习(十) 自带电池


    10.1 模块

    >>> import math
    >>> math.sin(0)
    0.0

      10.1.1 模块是程序

           假设自己写的hello.py放在c:python目录中,下面的方法就是导入自己的模块:

      import sys

      sys.path.append('c:/python')   //  假设自己的程序保存在 c:python

      import hello

           

            如果hello模块被修改了,需要重新导入:

      hello = reload(hello)

      10.1.2 模块用于定义

      10.1.3 让你的模块可用

      如何让sys.path在一开始就包含正确的目录,两种方法:

           一种是将模块放在合适的位置:

    弊端:不希望自己的模块填满python解释器的目录 / 没有权限 / 想将模块放在其他地方。

    >>> import sys, pprint
    >>> pprint.pprint(sys.path)
    ['',
     'C:\Program Files\Python36\Lib\idlelib',
     'C:\Program Files\Python36\python36.zip',
     'C:\Program Files\Python36\DLLs',
     'C:\Program Files\Python36\lib',
     'C:\Program Files\Python36',
     'C:\Program Files\Python36\lib\site-packages']

    另外是告诉解释器去哪找模块:

    PYTHONPATH环境变量:

    set PYTHONPATH = %PYTHONPATH%; C:python

    10.1.4 包

    为了组织好模块,你可以将他们分组为包(package)。

    当模块存储在文件中时(扩展名.py),包就是模块所在的目录。为了让python将其作为包对待,它必须包含一个名为__init__.py的文件。

    10.2 探究模块

    10.2.1 模块中有什么

    dir:

    >>> import copy
    >>> dir(copy)
    ['Error', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_copy_dispatch', '_copy_immutable', '_deepcopy_atomic', '_deepcopy_dict', '_deepcopy_dispatch', '_deepcopy_list', '_deepcopy_method', '_deepcopy_tuple', '_keep_alive', '_reconstruct', 'copy', 'deepcopy', 'dispatch_table', 'error']
    >>> 

    __all__: 定义__all__,  __all__会过滤掉不用的变量,函数和类。

    10.2.2 用help获取帮助

    >>> help(copy)

    10.2.3 文档

    >>> print(copy.__doc__)

    10.2.4 使用源代码

    >>> print(copy.__file__)

    10.3 标准库:一些最爱

    10.3.1 sys

    与python解释器密切关联的变量和函数

    argv

    exit

    modules

    path

    platform

    stdin

    stdout

    stderr

    10.3.2 OS

    提供访问操作系统的方法

    10.3.3 fileinput

    10.3.4 集合、队和双端队列

    10.3.5 time

    10.3.6 random

    10.3.7 shelve(简单的存储方案)

    10.3.8 re(正则表达式的支持)

    10.3.9 其他有趣的标准模块

    functools:

    difflib

    hashlib

    csv

  • 相关阅读:
    node.js require() 源码解读
    Nodejs源码解析之module
    nodejs代码初探之nodejs启动
    数字证书原理
    wsdl实例
    SOAP 格式设置选项
    JAVA RMI分布式原理和应用
    PAT乙级1053-----住房空置率 (20分)
    PAT乙级1071-----小赌怡情 (15分)
    PAT乙级1050-----螺旋矩阵 (25分)
  • 原文地址:https://www.cnblogs.com/liufei1983/p/7268500.html
Copyright © 2020-2023  润新知