Python模块

发布时间:2019-03-01 10:36:10编辑:auto阅读(2149)

    初步认识

    安装完python后,python自带一部分模块,自带的模块又称作内置模块。其中一部分模块在路径Lib下。(这里的文件夹可以看做包,可以把多个模块放进一个包里)

    从模块的来源来讲,可以分三种:内置模块、自定义模块(自己定义的)、第三方模块 例如下载网上的django模块。

    从模块的运行角度看,可以分两种:直接执行称自主模块,被导入才执行称非自主模块。

     一个类型为py的文件可以作为一个模块,模块名就是文件名。模块名可以作为全局变量使用。

    使用

     在某路径建了module.py,复制下面代码

    def fib(n):    # write Fibonacci series up to n
        a, b = 0, 1
        while a < n:
            print(a, end=' ')
            a, b = b, a+b
        print()
    
    def fib2(n):   # return Fibonacci series up to n
        result = []
        a, b = 0, 1
        while a < n:
            result.append(a)
            a, b = b, a+b
        return result

    在该路径打开解释器,导入模块,使用模块里的某个函数。

    如果需要在模块里用到其他模块,需要提前导入。

    一次导入n个模块的全部功能:import module1[, module2[,... moduleN]

    单独导入模块的某个功能:from modname import name1[, name2[, ... nameN]]

    导入模块的全部功能:from modname import * 好处是不需要模块名点出来就能用。

    给模块起别名:在模块名后加 as 别名


     

    模块属性:__name__

    1、因为当前moduly.py模块是被导入执行的,所以它的__name__属性是模块名称

    2、修改module.py ,在第一行加入 print(__name__)

    解释器执行module.py模块,喔?这次是自主模块了。

     

    dir函数,查看模块可以用的函数、属性等。

     

    如果模块修改了,需要借助重新加载,否则找不到修改过的东西。

    import importlib; importlib.reload(modulename)

    模块的路径

    在没有指定模块的路径时,导入时会去什么路径下找模块呢?

    1、当前py脚本的同级路径,即A脚本是ALib下,则会去ALib目录下找

    2、环境变量 path

    3、依赖于安装时初始化的一些路径,例如上面的Lib目录。

    这里有个默认查找模块路径讨论:https://bytes.com/topic/python/answers/26800-what-pythons-module-search-path

     

    官网参考:https://docs.python.org/3/tutorial/modules.html

     

关键字

上一篇: pip install browserc

下一篇: python 闭包