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 22 Python
Windows环境下python环境安装使用图文教程
Mar 13 Python
tensorflow 使用flags定义命令行参数的方法
Apr 23 Python
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
May 27 Python
基于Python获取docx/doc文件内容代码解析
Feb 17 Python
Python venv虚拟环境配置过程解析
Jul 08 Python
Java Unsafe类实现原理及测试代码
Sep 15 Python
通过代码实例了解Python异常本质
Sep 16 Python
Django配置跨域并开发测试接口
Nov 04 Python
python实现文件+参数发送request的实例代码
Jan 05 Python
python+selenium自动化实战携带cookies模拟登陆微博
Jan 19 Python
asyncio异步编程之Task对象详解
Mar 13 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分页类的代码
2011/05/18 PHP
CentOS 6.2使用yum安装LAMP以及phpMyadmin详解
2013/06/17 PHP
PHP中mysqli_affected_rows作用行数返回值分析
2014/12/26 PHP
PhpStorm terminal无法输入命令的解决方法
2016/10/09 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
JavaScript函数定义的常见注意事项小结
2014/09/16 Javascript
jQuery中each()方法用法实例
2014/12/27 Javascript
JavaScript中使用concat()方法拼接字符串的教程
2015/06/06 Javascript
jfinal与bootstrap的登录跳转实战演习
2015/09/22 Javascript
微信小程序删除处理详解
2017/08/16 Javascript
对于js垃圾回收机制的理解
2017/09/14 Javascript
React 使用Hooks简化受控组件的状态绑定
2019/03/18 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
2019/10/16 jQuery
Vue.js组件props数据验证实现详解
2019/10/19 Javascript
Vue中使用JsonView来展示Json树的实例代码
2020/11/16 Javascript
python发送arp欺骗攻击代码分析
2014/01/16 Python
python 3.5实现检测路由器流量并写入txt的方法实例
2017/12/17 Python
python自动发送邮件脚本
2018/06/20 Python
在Pycharm中修改文件默认打开方式的方法
2019/01/17 Python
python实现桌面气泡提示功能
2019/07/29 Python
Pandas-Cookbook 时间戳处理方式
2019/12/07 Python
使用pandas的box_plot去除异常值
2019/12/10 Python
python安装mysql的依赖包mysql-python操作
2021/01/01 Python
DNA基因检测和分析:23andMe
2019/05/01 全球购物
澳大利亚在线奢侈品时尚零售平台:Azura Runway
2021/01/13 全球购物
全球异乡人的跨境社交电商平台:Kouhigh口嗨网
2020/07/24 全球购物
自荐信怎么写好
2013/11/11 职场文书
求职简历中个人的自我评价
2013/12/25 职场文书
班主任对学生的评语
2014/04/26 职场文书
统计学教授推荐信
2014/09/18 职场文书
个人收入证明范本
2014/09/18 职场文书
幼儿园中班教师个人总结
2015/02/05 职场文书
党员违纪检讨书
2015/05/05 职场文书
选购到合适的激光打印机
2022/04/21 数码科技