python之模块概念

模块一共有三种:python标准库、第三方模块、应用程序自定义模块

模块之间的相互调用

程序目录如下所示:

calculate.py

print('ok')
x = 3

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

def sub(s, y):
    return s-y

bin.py

import calculate
# 解释器通过搜索路径找到calculate.py后,
# 将calculate = calculate.py  all  code
import sys

print(calculate.add(1, 2))

# 搜索路径   sys.path
print(sys.path)

print(calculate.x)

运行结果

 

 

从模块里调用方法

# 从模块里调用方法
from calculate import add

print(add(1, 4))  #  ok   5

from calculate import add, sub
print(sub(3, 6))   # ok -3

调用多个模块时,可以import calculate,time  用逗号隔开

从一个模块里导入所有方法和变量时,用from calculate import *

将某个模块中的方法导入并修改名称时,用from calculate import add as plus

 

 

 

为了避免模块名冲突,Python又引入了按目录来组织模块的方法,成为包(Packages)。区分文件夹和包的方法是包下面有一个__init__文件。

目录结构

logger.py

def logger():
    print('logging')

 bin.py

# import web.logger
# logger.logger()  # name 'logger' is not defined

# import的一定是一个模块
from web import logger
logger.logger()  # logging

若包下面还有包,怎么调用?目录结构如下

调用web2下的logger模块

from web.web2 import logger
logger.logger()  # logging




from web.web2.logger import logger
logger()  # logging

搜索路径的时候,第一步是在当前路径下寻找

import web时是执行了web包下的__init__文件,如果__init__里面有内容,就会被执行。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章