Python基础教程

001_Python模块与包的概述

Python模块与包的概述

Python模块与包的概述

模块是指py脚本文件,每个脚本文件是一个模块。每个模块中可以定义属于本模块作用域的变量和函数。模块可以被其他模块引入并使用。

包是一个含__init__.py标志文件的文件夹。包是用来管理模块(py文件)的目录结构。

Python中的模块与包为Python代码管理提供了方便。

模块的引入有两种方式。

  • import ...
  • from ... import ...

前者是直接引入模块,后者是从某模块引入模块。

常用的还有两种形式,用as重命名,和用*表示对包的模块全部引入(不推荐)。

  • import ... as ...
  • from ... import *

Python模块的定义与引入

下面在工程创建一个普通文件夹atestpkg,里面分别创建两个模块t01.py和t02.py。

代码工程结构如下。

atestpkg
├─ t01.py
└─ t02.py

t01.py模块内容如下

astr="hello"

t02.py模块内容如下

import t01

print(t01.astr)

程序运行结果如下

C:UsershccmaAnaconda3python.exe E:/wkp01/p00/test01/atestpkg/t02.py
hello

Process finished with exit code 0

也可以使用as给引入的模块重命名

import t01 as tvar

print(tvar.astr)

Python包的定义与引入

Python包就是在一个普通文件夹中创建一个__init__.py文件(里面可以是空的,用来区分普通文件夹和Python包。当然也可以根据需要写一些初始化代码)。

下面在atestpkg文件夹内创建mytools文件夹,然后在mytools文件夹内创建一个__init__.py空文件。

然后在mytools文件夹创建myadd.py文件(模块),并定义模块函数。

最后在atestpkg文件夹内创建t03.py文件,并编写调用mytools模块的代码。

代码工程结构如下。

atestpkg
├─ mytools
    ├─ __init__.py
    ├─ myadd.py
    └─ myappend.py
├─ t01.py
├─ t01.py
└─ t03.py

myadd.py模块内容如下

def add2(x,y):
    return x+y

def add3(x,y,z):
    return x+y+z

myadd.py模块内容如下

alist=[1,2,3]

def funapd(n):
    return alist*n

t03.py模块内容如下

from mytools import myadd,myappend

print(myadd.add2(1,2))
print(myadd.add3(1,2,3))
print(myappend.funapd(2))

程序运行结果如下

C:UsershccmaAnaconda3python.exe E:/wkp01/p00/test01/atestpkg/t03.py
3
6
[1, 2, 3, 1, 2, 3]

Process finished with exit code 0

另外,包中的模块还可以通过点的方式来引入(不用from)。

import mytools.myadd as ad
from mytools import myappend as ap

print(ad.add2(1,2))
print(ad.add3(1,2,3))
print(ap.funapd(2))
这篇文章对您有用吗?

我们要如何帮助您?