文章目录

  • 1、当前代码中的函数与模块中的函数同名,导入模块
  • 1.1、创建一个getenv.py代码文件作为模块。
  • 1.2、创建信息调用模块
  • 例1、调用模块中的函数被覆盖
  • 例2、本地函数被覆盖
  • 2、当前代码与模块不在同一路径下,导入模块


1、当前代码中的函数与模块中的函数同名,导入模块

1.1、创建一个getenv.py代码文件作为模块。

模块中创建一个函数,令其打印系统信息。

import platform   #该模块用来访问平台相关属性
import sys       #系统特定的参数和功能 
import os        #访问操作系统功能的模块
def showENV(): 
    s = platform.platform() 
    print("当前系统:",s)       		
    p = sys.path
    print("当前安装路径:",p)  
    op = os.getcwd()
    print("当前代码路径:",op) 
    print("Python版本信息:",sys.version_info)
    
if __name__ == '__main__':   #进行模块的单元测试
    showENV()

上面代码中最后两行为测试代码,使得该模块可以作为一个独立运行的程序。

输出结果为:

mac python 导入模块 python的模块导入_导入模块

1.2、创建信息调用模块

import getenv       #导入自定义模块getenv

def showENV():      #实现同名函数showENV
    print("this is my env")
    
showENV()         #调用本地函数
getenv.showENV()    #调用getenv模块里的函数

上面代码的最后两行,分别调用了本地函数和自定义模块里面的函数。

输出结果为:

mac python 导入模块 python的模块导入_python_02


注意:python中符号生效的规则是“就近”。即调用函数时,系统会寻找离函数最近的代码定义来执行。所以在调用其他模块中的同名函数时,要注意函数覆盖问题。

例1、调用模块中的函数被覆盖

#模块函数被覆盖
from getenv import *    #导入getenv的全部符号
def showENV():
    print("this is my env")
showENV()

输出结果:

mac python 导入模块 python的模块导入_mac python 导入模块_03

例2、本地函数被覆盖

#本地函数被覆盖 
def showENV():
    print("this is my env") 
from getenv import *    
showENV()

输出结果:

mac python 导入模块 python的模块导入_导入模块_04

2、当前代码与模块不在同一路径下,导入模块

在当前代码同级目录下,新建一个文件夹mode,将定义好的模块“getenv.py”移动到文件夹mode中。

import mode.getenv  as   getenv    #导入自定义模块getenv

def showENV():      #实现同名函数showENV
    print("this is my env")
    
showENV()        #调用本地函数
getenv.showENV()   #调用getenv模块里的函数

输出结果:

mac python 导入模块 python的模块导入_自定义_05