一、定义

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

 包:用来从逻辑上组织模块的,本质就是一个目录,且必须带有__init__.py的文件

二、导入模块方法

 方法一:import 模块名                                             =》导入模块中的函数、变量等
 方法二:import 模块名1,模块名2                           =》导入模块中的函数、变量等
 方法三:from 模块名 import *                                   =》导入模块中的所有内容
 方法四:from 模块名 import 变量/函数等 as 别名    =》导入模块中的变量、函数并给一个别名

三、import本质
 导入模块的本质就是把python文件解释一遍
 导入包的本质就是执行该包下的__init__.py文件

四、添加环境变量

import os,sys
print('当前目录的相对路径:',__file__) # 获取当前目录的相对路径
print('当前目录的绝对路径:',os.path.abspath(__file__)) # 获取当前目录的绝对路径
print('当前目录的上级目录:',os.path.dirname(__file__)) # 返回当前文件的上级目录 BASE_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # 获取当前目录的上上级目录
sys.path.append(BASE_PATH) # 添加环境变量
# sys.path.insert(0,BASE_PATH) # 指定位置插入环境变量,不建议这么用

五、示例

  注:以下所有导入模块操作,都在main.py执行。

  目录结构如下:

 1、导入单个模块:

import module_1  # import 导入单个模块
print(module_1.name) # 调用模块中的变量
module_1.say_hello() # 调用模块中的方法

 2、导入多个模块:

import module_1,module_2  # 导入多个模块
module_1.say_hello()
module_2.regin()

 3、导入模块中的所有内容:

from module_1 import * #导入模块中的所有内容,不建议此用法
print(name)

 4、导入模块变量并指定别名

from module_1 import name as lzh_name  #  使用别名
name = 'module_test'
print(name)
print(lzh_name)

 5、导入包,即:执行该包下的__init__.py文件

import os,sys
BASE_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_PATH) # 末尾位置添加环境变量
# sys.path.insert(0,BASE_PATH) # 指定位置插入环境变量,不建议这么用
import package_test

  package_test下_init_内容:

#!/user/bin env python
# author:Simple-Sir
# time:2019/8/20 21:46
# import test1
from . import test1 # . 从当前目录导入模块
print('from the packg packgtest.')

 6、导入包,并调用模块:

import os,sys
BASE_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_PATH) # 末尾位置添加环境变量
# sys.path.insert(0,BASE_PATH) # 指定位置插入环境变量,不建议这么用
import package_test
package_test.test1.test()

 7、优化导入模块:

   比如:重复使用module_2.regin()时:

from module_2 import regin

def func1():
regin()
print('in the func1') def func2():
regin()
print('in the func2')

初识python: 模块定义及调用的更多相关文章

  1. Python模块定义和使用

    Python中所谓的模块就是一个Python文件,一个abc.py的文件就是一个名字叫abc的模块,一个xyz.py的文件就是一个名字叫xyz的模块.模块由代码.函数或类组成.编程中使用模块不仅可以提 ...

  2. python 函数定义及调用

    1.什么是函数? 在程序中,函数就是具备某一功能的工具,事先将工具准备好即函数的定义:遇到应用场景拿来就用即函数的调用:函数必须遵循先定义后调用的原则 2.为什么要用函数 不用函数的问题是: 程序冗长 ...

  3. Python 模块定义、导入、优化详解

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

  4. python 模块定义导入

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

  5. 初识python 函数(定义,传参,返回值)

    python基础(二): 菜鸟教程基础知识讲解的非常全面,内容选择我认为的重点输出一遍 函数: 定义一个函数: 你可以定义一个由自己想要功能的函数,以下是简单的规则: def fun(arg): pa ...

  6. 3-12 Python函数定义与调用

    Python 函数 函数概念 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.如print() range()函数,但你也可以自己创建函 ...

  7. python模块--如何相互调用自己写的模块

    一.模块相互调用同级目录调用时的两种方法 import module print(module.add(3,8)) from module import add print(add(2,4)) 同级目 ...

  8. 8.模块定义导入优化time datetime内置模块

    1.模块(module)的定义:本质就是.py的python文件用来从逻辑上组织python代码(变量\函数\类\逻辑:实现一个功能)包(package)的定义:用来从逻辑上组织模块的,本质就是一个文 ...

  9. Python模块初识

    目录 一 模块初识 二 模块分类 三 导入模块 四 Python文件的两种用途 五 模板查找顺序 六 软件开发目录规范 一.模块初识 模块是自我包含并且有组织的代码片段,是一系列功能的集合体,一个py ...

随机推荐

  1. SSM和springboot对比

    今天在开源中国上看到一篇讲SSM.SpringBoot讲的不错的回答,分享! https://www.oschina.net/question/930697_2273593 一.SSM优缺点应该分开来 ...

  2. Git初始化及仓库创建和操作

    一.基本信息配置 1.全局配置用户名 git config --global user.name "YeHuan-byte" 2.全局配置邮箱 git config --globa ...

  3. 通过jquery实现form表单提交后不跳转页面,保留当前页面

    jquery代码: <script type="text/javascript" src="../js/jquery-1.8.3.min.js">& ...

  4. 『学了就忘』Linux服务管理 — 77、RPM包安装基于xinetd的服务的管理

    目录 1.基于xinetd服务的启动管理 (1)telnet服务安装 (2)telnet服务启动 2.基于xientd服务的自启动管理 现在Linux系统中基于xinetd的服务越来越少了,但Linu ...

  5. Mysql解决主从慢同步问题

    目录 一.简介 为何有延迟 二.观察 三.解决办法 参数 多线程 组提交 一.简介 一般主从复制,有三个线程参与,都是单线程:Binlog Dump(主) ----->IO Thread (从) ...

  6. pipeline是什么?

    目录 一.pipeline是什么? 二.jenkinsfile是什么 三.pipeline语法选择 四.脚本式和声明式 五.插件与pipeline 一.pipeline是什么? pipeline是部署 ...

  7. Linux 文件属性及详细操作

    目录 Linux 文件属性 文件属性信息组成 文件属性概念说明 文件软硬链接说明 硬链接 软链接 补充知识 存储数据相关-inode/block inode: block: 读取文件原理图 Linux ...

  8. VirtualBox 同时添加 NAT 和 Host-Only 网卡出现无法上网的情况

    如果网卡1是 NAT,网卡2是 Host-Only,可以 ping 通 baidu.com. 如果网卡1是 Host-Only,网卡2是 NAT,无法 ping 通 baidu.com. 使用 nmc ...

  9. CF1506A Strange Table 题解

    Content 给定一个 \(n\times m\) 的矩阵.一开始,\((1,1)\) 所在位置上面的数是 \(1\),随后先由上往下将这一列中的所有位置上面填上 \(2,3,\dots,n\),再 ...

  10. CF1494A ABC String 题解

    Content 给定 \(T\) 个仅包含大写字母 A,B,C 的字符串 \(s\).问你是否能够通过将每个 A,B,C 换成 (,) 中的一个(同一个字母必须要换成同一个字符),使得最后得到的括号序 ...