用法

1.import同一个路径下的.py文件.

这是import关键字最基本的用法,import moudle1可以理解为直接将module1.py的语句复制到对应的代码段.

2.import package的基本用法.

很多时候实现某一个功能的模块的代码需要分在几个.py中文件中写,可以将这些功能写在一个python的package中,所谓package就是一个包含了__init__.py的python路径.

文件结构如下

package1/

__init__.py

module_1.py

module_2.py

module_3.py

test_pac.py

在package1包的module1.py中定义了"say方法"

在module_1.py

def say():

print "this is module1.py"

在和package同路径下的test_pac.py中引用module1

from package1 import module_1

module_1.say()

3.在package中使用相对导入

很多时候package中各个模块中也需要互相引用.

例如

package1/

__init__.py

Class/

__init__.py

class1.py

class2.py

class3.py

Student/

__init__.py

student1.py

student2.py

test_package1.py

在class1.py中写入以下代码

def say_class():

print "class1"

在class1.py中定义了一个say_student()函数,想在Student路径下的student1.py中引用.

from ..Class.class1 import say_class

def say_student():

print "student1"

say_class()

if __name__=="__main__":

say_student()

直接运行module_21.py中的代码会报错

ValueError: Attempted relative import in non-package

在包(package)中使用了相对引用的.py文件只能以模块方式运行

python -m module_21

或者在包(package)中的文件引用,比如在test_package1.py实现以下代码

from Student.student1 import *

say_student()

say_class()

这个时候

>>> python test_pac.py

student1

class1

代码运行成功

python中的import详解_如何在python中import相关推荐

  1. python跳一跳脚本详解_跳一跳 python脚本 改进版

    原版本github地址:https://github.com/wangshub/wechat_jump_game 当时版本我用时感觉性能不佳,为能霸榜装逼,针对自己的手机进行了改进. 主要是对检测棋子 ...

  2. python之sys模块详解_(转)python之os,sys模块详解

    python之sys模块详解 原文:http://www.cnblogs.com/cherishry/p/5725184.html sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和 ...

  3. ALSA声卡驱动中的DAPM详解之四:在驱动程序中初始化并注册widget和route

    前几篇文章我们从dapm的数据结构入手,了解了代表音频控件的widget,代表连接路径的route以及用于连接两个widget的path.之前都是一些概念的讲解以及对数据结构中各个字段的说明,从本章开 ...

  4. matlab在数值计算中的应用,详解MATLAB在科学计算中的应用

    详解MATLAB在科学计算中的应用 编辑 锁定 讨论 上传视频 <详解MATLAB在科学计算中的应用>是2011年电子工业出版社出版的图书,作者是陈泽占海明. 书    名 详解MATLA ...

  5. [ 云计算 | AWS ] IAM 详解以及如何在 AWS 中直接创建 IAM 账号

    本章节主要介绍 IAM 相关知识点以及在 AWS 控制台窗口如何创建一台 Amazon IAM 账号. 文章目录 一.什么是 IAM? 二.IAM 常见种类 2.1 EIAM 2.2 CIAM 2.3 ...

  6. python跳一跳脚本详解_微信跳一跳游戏 python脚本辅助得高分

    微信小程序一时间火爆朋友圈,关键是还有排行榜!游戏操作简单,可直接根据电脑识别,用python写出自动跳辅助脚本,本想动手写下,索性网上有大神写了现成脚本,修改了一小部分参数,就可以稳定使用了霸榜没有 ...

  7. python学习详解_深入解析Python小白学习【操作列表】

    1.遍历列表 需要对列表中的每个元素都执行相同的操作时,可使用for 循环: magicians = ['alice','david','carolina'] for magician in magi ...

  8. 正则表达式符号特殊详解_常用正则表达式_Java中正则表达式的使用

    正则表达式符号详解 限定符: 指定一个组件必须出现多少次才能满足. 1.使用 "*", "+", "?" 作为限定符: "*&qu ...

  9. python凯撒密码详解_四十八、Python用smtp发邮件详解(163和QQ邮箱)

    Python发邮件详解 一.利用163的smtp发送邮件 import smtplibfrom email.mime.text import MIMETextfrom email.header imp ...

最新文章

  1. 技术大咖齐聚爱数智慧人机交互技术论坛 | CNCC2021
  2. Windows最经典应用大变脸:学生爽翻!
  3. MongoDB基本概念学习 - 集合
  4. hihoCoder week17 最近公共祖先·三 lca st表
  5. C#基础加强(8)之委托和事件
  6. 简单计算器 (关于栈的一种应用)
  7. python远程主机强迫关闭了_Python 远程主机强迫关闭了一个现有的连接
  8. vue 图片自适应排列插件_vue自适应布局3种方法
  9. tensorflow-reverse(反向传播)
  10. 命令行调用dubbo服务
  11. 141.环形链表(力扣leetcode)博主可答疑该问题
  12. 水经注SOSO电子地图下载器官方下载V13.17.3官方版
  13. java sync 实现原理_JAVA 同步实现原理
  14. IE-LAB网络实验室:思科CCNP考几门?
  15. 特征图注意力_【抠图中的注意力机制】HAttMatting---让抠图变得如此简单!
  16. 二维码:MP3音频世界的进化
  17. 请编程序将china译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如:字母A后面4个字母为E,因此,China应译为Glmre。
  18. url怎么隐藏html后缀,url 去掉.HTML 后缀 zencart
  19. 2.2 数据库应用系统开发方法
  20. 相对地址,绝对地址,本地地址

热门文章

  1. 【JavaScript】Uncaught TypeError: Illegal invocation
  2. iOS开发Item属性总结
  3. C#中double.tostring()的用法
  4. IT人必读:写给浮躁的IT同仁
  5. 图论——最长路(洛谷 P1807)
  6. C语言课后习题(63)
  7. 流程图怎么切换_PPT中「较长的流程图」该如何清晰展现?
  8. 不超过20位的小数正则_盘点贵州省的GDP增长:跃居全国20位,超过了两个难以超越的省份...
  9. access 打印预览 代码_如何在亚银标签纸上批量打印条形码
  10. bool c语言_C语言面试54题