python学习,day5:模块的定义、导入

1、定义

模块:用来从逻辑上组织PYTHON代码,(变量,函数,类,逻辑:实现一个功能),本质就是。py结尾的python文件(文件名:test.py,对应模块名就是:test)

包:本质就是一个目录(必须带一个__init__.py的文件)

2、导入方法

import module_name

import module_name,module_name2

from module_name import *   #不建议使用 把所有模块中的代码都代入,同名容易冲突

from module_name import logger as logger_alex    #给模块中的程序起一个别名,可以避免冲突

调用的模块 module alex

# coding=utf-8
# Author: RyAn Bi
name= 'alex'
def say_hello():
    print('hello')

def logger():
    print('im logger in module')

 

主程序

# coding=utf-8
# Author: RyAn Bi

#import module_alex
from module_alex import name,logger as logger_alex


def logger():
    print('im logger in main')

logger()

logger_alex()
print(name)   #可以导入参数

3、import的本质(路径搜索和搜索路径)

导入模块的本质就是把python文件解释一遍(import test     test = ‘test.py all code’)

(from test import ml ml = “code”)

导入包的本质,就是解释包里的init文件

import module_name-----> module_name.py ---->module_name.py 的路径--->新的路径,加入环境变量(sys.path)

import sys,os

print(sys.path)   #就是一个路径的列表

print(os.path.abspath(__file__))  #当前目录的路径
print(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) #返回到上上级目录,就是调用模块的父目录
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) #将新目录加到环境变量中
import module_alex as x


x.say_hello
原文地址:https://www.cnblogs.com/bbgoal/p/11352762.html