python中的import详解_如何在python中import
用法
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相关推荐
- python跳一跳脚本详解_跳一跳 python脚本 改进版
原版本github地址:https://github.com/wangshub/wechat_jump_game 当时版本我用时感觉性能不佳,为能霸榜装逼,针对自己的手机进行了改进. 主要是对检测棋子 ...
- python之sys模块详解_(转)python之os,sys模块详解
python之sys模块详解 原文:http://www.cnblogs.com/cherishry/p/5725184.html sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和 ...
- ALSA声卡驱动中的DAPM详解之四:在驱动程序中初始化并注册widget和route
前几篇文章我们从dapm的数据结构入手,了解了代表音频控件的widget,代表连接路径的route以及用于连接两个widget的path.之前都是一些概念的讲解以及对数据结构中各个字段的说明,从本章开 ...
- matlab在数值计算中的应用,详解MATLAB在科学计算中的应用
详解MATLAB在科学计算中的应用 编辑 锁定 讨论 上传视频 <详解MATLAB在科学计算中的应用>是2011年电子工业出版社出版的图书,作者是陈泽占海明. 书 名 详解MATLA ...
- [ 云计算 | AWS ] IAM 详解以及如何在 AWS 中直接创建 IAM 账号
本章节主要介绍 IAM 相关知识点以及在 AWS 控制台窗口如何创建一台 Amazon IAM 账号. 文章目录 一.什么是 IAM? 二.IAM 常见种类 2.1 EIAM 2.2 CIAM 2.3 ...
- python跳一跳脚本详解_微信跳一跳游戏 python脚本辅助得高分
微信小程序一时间火爆朋友圈,关键是还有排行榜!游戏操作简单,可直接根据电脑识别,用python写出自动跳辅助脚本,本想动手写下,索性网上有大神写了现成脚本,修改了一小部分参数,就可以稳定使用了霸榜没有 ...
- python学习详解_深入解析Python小白学习【操作列表】
1.遍历列表 需要对列表中的每个元素都执行相同的操作时,可使用for 循环: magicians = ['alice','david','carolina'] for magician in magi ...
- 正则表达式符号特殊详解_常用正则表达式_Java中正则表达式的使用
正则表达式符号详解 限定符: 指定一个组件必须出现多少次才能满足. 1.使用 "*", "+", "?" 作为限定符: "*&qu ...
- python凯撒密码详解_四十八、Python用smtp发邮件详解(163和QQ邮箱)
Python发邮件详解 一.利用163的smtp发送邮件 import smtplibfrom email.mime.text import MIMETextfrom email.header imp ...
最新文章
- 技术大咖齐聚爱数智慧人机交互技术论坛 | CNCC2021
- Windows最经典应用大变脸:学生爽翻!
- MongoDB基本概念学习 - 集合
- hihoCoder week17 最近公共祖先·三 lca st表
- C#基础加强(8)之委托和事件
- 简单计算器 (关于栈的一种应用)
- python远程主机强迫关闭了_Python 远程主机强迫关闭了一个现有的连接
- vue 图片自适应排列插件_vue自适应布局3种方法
- tensorflow-reverse(反向传播)
- 命令行调用dubbo服务
- 141.环形链表(力扣leetcode)博主可答疑该问题
- 水经注SOSO电子地图下载器官方下载V13.17.3官方版
- java sync 实现原理_JAVA 同步实现原理
- IE-LAB网络实验室:思科CCNP考几门?
- 特征图注意力_【抠图中的注意力机制】HAttMatting---让抠图变得如此简单!
- 二维码:MP3音频世界的进化
- 请编程序将china译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如:字母A后面4个字母为E,因此,China应译为Glmre。
- url怎么隐藏html后缀,url 去掉.HTML 后缀 zencart
- 2.2 数据库应用系统开发方法
- 相对地址,绝对地址,本地地址
热门文章
- 【JavaScript】Uncaught TypeError: Illegal invocation
- iOS开发Item属性总结
- C#中double.tostring()的用法
- IT人必读:写给浮躁的IT同仁
- 图论——最长路(洛谷 P1807)
- C语言课后习题(63)
- 流程图怎么切换_PPT中「较长的流程图」该如何清晰展现?
- 不超过20位的小数正则_盘点贵州省的GDP增长:跃居全国20位,超过了两个难以超越的省份...
- access 打印预览 代码_如何在亚银标签纸上批量打印条形码
- bool c语言_C语言面试54题