欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python模块

程序员文章站 2022-06-20 10:46:54
初步认识 安装完python后,python自带一部分模块,自带的模块又称作内置模块。其中一部分模块在路径Lib下。(这里的文件夹可以看做包,可以把多个模块放进一个包里) 从模块的来源来讲,可以分三种:内置模块、自定义模块(自己定义的)、第三方模块 例如下载网上的django。 从模块的运行角度看, ......

初步认识

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

Python模块

从模块的来源来讲,可以分三种:内置模块、自定义模块(自己定义的)、第三方模块 例如下载网上的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

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

Python模块

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

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

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

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

Python模块

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

Python模块

 

模块属性:__name__

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

Python模块

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

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

Python模块

 

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

Python模块

 

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

import importlib; importlib.reload(modulename)

模块的路径

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

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

2、环境变量 path

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

这里有个默认查找模块路径讨论:

 

官网参考: