Python使用import导入本地脚本及导入模块的技巧总结


Posted in Python onAugust 07, 2019

本文实例讲述了Python使用import导入本地脚本及导入模块的技巧。分享给大家供大家参考,具体如下:

导入本地脚本

import 如果你要导入的 Python 脚本与当前脚本位于同一个目录下,只需输入 import,然后是文件名,无需扩展名 .py。 伪代码如下:

import useful_functions
useful_functions.add_five([1, 2, 3, 4])

我们可以为导入模块添加别名,以使用不同的名称引用它。

import useful_functions as uf
uf.add_five([1, 2, 3, 4])

使用 if main 块

为了避免运行从其他脚本中作为模块导入的脚本中的可执行语句,将这些行包含在 if __name__ == "__main__" 块中。或者,将它们包含在函数 main() 中并在 if main 块中调用该函数。

每当我们运行此类脚本时,Python 实际上会为所有模块设置一个特殊的内置变量 __name__。当我们运行脚本时,Python 会将此模块识别为主程序,并将此模块的 __name__ 变量设为字符串 “main”。对于该脚本中导入的任何模块,这个内置 __name__ 变量会设为该模块的名称。因此,条件 if __name__ == "__main__"会检查该模块是否为主程序。

在同一目录下创建如下两个脚本文件,并在终端里运行这些脚本!实验 if main 块并访问导入模块中的对象!

demo.py 文件

# demo.py
import useful_functions as uf
scores = [88, 92, 79, 93, 85]
mean = uf.mean(scores)
curved = uf.add_five(scores)
mean_c = uf.mean(curved)
print("Scores:", scores)
print("Original Mean:", mean, " New Mean:", mean_c)
print(__name__)
print(uf.__name__)

useful_functions.py文件

# useful_functions.py
def mean(num_list):
  return sum(num_list) / len(num_list)
def add_five(num_list):
  return [n + 5 for n in num_list]
def main():
  print("Testing mean function")
  n_list = [34, 44, 23, 46, 12, 24]
  correct_mean = 30.5
  assert(mean(n_list) == correct_mean)
  print("Testing add_five function")
  correct_list = [39, 49, 28, 51, 17, 29]
  assert(add_five(n_list) == correct_list)
  print("All tests passed!")
if __name__ == '__main__':
  main()

如果运行 $ python demo.py,那么有如下输出结果:

Scores: [88, 92, 79, 93, 85]
Original Mean: 87.4  New Mean: 92.4
__main__
useful_functions

如果运行 $ python useful_functions.py,那么有如下输出结果:

Testing mean function
Testing add_five function
All tests passed!

import 导入模块的技巧

要从模块中导入单个函数或类:

from module_name import object_name

要从模块中导入多个单个对象:

from module_name import first_object, second_object

要重命名模块:

import module_name as new_name

要从模块中导入对象并重命名:

from module_name import object_name as new_name

要从模块中单个地导入所有对象(请勿这么做):

from module_name import *

如果你真的想使用模块中的所有对象,请使用标准导入 module_name 语句并使用点记法访问每个对象

import module_name

为了更好地管理代码,Standard 标准库中的模块被拆分成了子模块并包含在软件包中。软件包是一个包含子模块的模块。子模块使用普通的点记法指定。子模块的指定方式是软件包名称、点,然后是子模块名称。你可以如下所示地导入子模块

import package_name.submodule_name

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python实现冒泡,插入,选择排序简单实例
Aug 18 Python
Python win32com 操作Exce的l简单方法(必看)
May 25 Python
python版本坑:md5例子(python2与python3中md5区别)
Jun 20 Python
python 表达式和语句及for、while循环练习实例
Jul 07 Python
利用python编写一个图片主色转换的脚本
Dec 07 Python
Python3.x爬虫下载网页图片的实例讲解
May 22 Python
python 在屏幕上逐字显示一行字的实例
Dec 24 Python
利用python list完成最简单的DB连接池方法
Aug 09 Python
Python如何存储数据到json文件
Mar 09 Python
Python多线程threading join和守护线程setDeamon原理详解
Mar 18 Python
浅谈keras中的目标函数和优化函数MSE用法
Jun 10 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
Nov 12 Python
python可视化篇之流式数据监控的实现
Aug 07 #Python
Python+AutoIt实现界面工具开发过程详解
Aug 07 #Python
Django中的用户身份验证示例详解
Aug 07 #Python
浅谈Python中(&,|)和(and,or)之间的区别
Aug 07 #Python
Python操作远程服务器 paramiko模块详细介绍
Aug 07 #Python
使用Python快乐学数学Github万星神器Manim简介
Aug 07 #Python
python中的&&及||的实现示例
Aug 07 #Python
You might like
解决php接收shell返回的结果中文乱码问题
2014/01/23 PHP
MongoDB在PHP中的常用操作小结
2014/02/20 PHP
php获取域名的google收录示例
2014/03/24 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
2016/10/08 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
2020/08/03 PHP
JQuery 学习笔记01 JQuery初接触
2010/05/06 Javascript
Mac/Windows下如何安装Node.js
2013/11/22 Javascript
使用JSLint提高JS代码质量方法分享
2013/12/16 Javascript
jQuery实现瀑布流布局
2014/12/12 Javascript
js字符串截取函数slice、substring和substr的比较
2016/05/17 Javascript
为jQuery-easyui的tab组件添加右键菜单功能的简单实例
2016/10/10 Javascript
详解Vue路由开启keep-alive时的注意点
2017/06/20 Javascript
基于JavaScript实现数码时钟效果
2020/03/30 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
2017/07/21 Javascript
JS实现的简单拖拽购物车功能示例【附源码下载】
2018/01/03 Javascript
webpack4.0 入门实践教程
2018/10/08 Javascript
JS实现将对象转化为数组的方法分析
2019/01/21 Javascript
javascript递归函数定义和用法示例分析
2020/07/22 Javascript
解决vue打包报错Unexpected token: punc的问题
2020/10/24 Javascript
利用Python暴力破解zip文件口令的方法详解
2017/12/21 Python
python 3.6.5 安装配置方法图文教程
2018/09/18 Python
python/Matplotlib绘制复变函数图像教程
2019/11/21 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
2020/03/27 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
2020/06/02 Python
DataFrame 数据合并实现(merge,join,concat)
2020/06/14 Python
Python爬虫实例——爬取美团美食数据
2020/07/15 Python
python 常用日期处理-- datetime 模块的使用
2020/09/02 Python
英国广泛的照明产品网站:Lights4living
2018/01/28 全球购物
荷兰天然和有机产品网上商城:BigGreenSmile.nl
2020/07/26 全球购物
公司人力资源的自我评价
2014/01/02 职场文书
幼儿园运动会入场词
2014/02/10 职场文书
工商干部先进事迹
2014/05/14 职场文书
企业务虚会发言材料
2014/10/20 职场文书
荒岛余生观后感
2015/06/09 职场文书
SpringMVC 整合SSM框架详解
2021/08/30 Java/Android