python3 模块 import from as 自定义模块 模块搜索顺序

328 阅读1分钟
# 模块
# import 模块名
# from 模块名 import 功能名
# from 模块名 import *
# import 模块名 as 别名
# from 模块名 import 功能名 as 别名

import

import math
print(math.sqrt(4))  #  2.0

from XX import 可以不写模块名称

from math import sqrt, cos
print(sqrt(4))

from xx import * 导入所有功能

from math import *
print(sqrt(9))

import 模块名 as 别名

import math as shuxue
from math import  sqrt as kaipingfang
print(shuxue.sqrt(9))
print(kaipingfang(9))

模块开发

定义模块

# my_common.py
def ad(a, b):
    return a + b

# 当前模块运行的时候,才可以执行此代码
if __name__ == "__main__":
    print(ad(100, 200))
# main.py
import my_common
print(my_common.ad(10, 20))
print(__name__)

模块搜索顺序

  • 内置模块
  • 当前目录
  • PYTHON_PATH目录
  • 默认路径, unix为/usr/local/lib/python

all

from XX import *的时候默认导入的是所有的内容 。

# 如果定义了__all__则from XX import *的时候,只能导入该列表对应的内容
__all__ = [hanshu1, hanshu2]