Python之路【第三篇】:模块
定义:
包:包含__init__.py文件、模块(也是.py文件)
当包被其它模块调用时,首先会执行该包下的__init__文件
包含有模块,包可以有多级
模块的导入:
import
from...import...
当Python导入一个模块时,Python首先查找当前路径;然后查找lib目录、site-packages目录(python\Lib\site-packages)和环境变量PYTHONPATH设置的目录
被调用模块或包路径必须在主文件同级目录或sys.path列出的目录下
>>> import sys
>>> sys.path
['', '/usr/lib/python26.zip', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/site-packages']
包必须至少含有一个__init__.py文件,__init__.py文件内容可以为空,用于标识该目录是包
__init__.py文件还用于提供同一路径下的模块列表,这样可在主文件中一次导入包中的所有模块
aaarticlea/png;base64,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" alt="" />
接下来自定义包
p1的__init__.py
if __name__ == '__main__':
print ('main')
else:
print ('p1 inited')
p2的__init__.py
if __name__ == '__main__':
print ('main')
else:
print ('p2 inited')
p1的m1.py
def func():
print ('p1.m1.func()') if __name__ == '__main__':
print ('m1.py as main processor')
else:
print ('m1.py is called')
p2的m2.py
def func2():
print ('p2.m2.func2()') if __name__ == '__main__':
print ('m2.py as main processor')
else:
print ('m2.py is called')
main.py
from p1 import m1
from p2 import m2 m1.func()
m2.func()
执行主文件(导入文件会执行__init__.py文件)
[root@hy p]# python main.py
p1 inited
m1 is called
p2 inited
m2 is called
p1.m1.func()
p1.m2.func()
Python之路【第三篇】:模块的更多相关文章
- Python之路(第三篇):Python基本数据类型字符串(二)
一.基本数据类型1.字符串 str字符串方法介绍(二)a --expandtabs( ) expandtabs( ) 把字符串中的 tab 符号('\t')转为空格参数默认为8,注意字符串原有的空格也 ...
- Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy
Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用 ...
- python成长之路第三篇(4)_作用域,递归,模块,内置模块(os,ConfigParser,hashlib),with文件操作
打个广告欢迎加入linux,python资源分享群群号:478616847 目录: 1.作用域 2.递归 3.模块介绍 4.内置模块-OS 5.内置模块-ConfigParser 6.内置模块-has ...
- Python之路(第三十七篇)并发编程:进程、multiprocess模块、创建进程方式、join()、守护进程
一.在python程序中的进程操作 之前已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,运行中的程序就是一个进程.所有的进程都是通过它的父进程来创建的.因此,运行起来的python程序 ...
- Python之路【第一篇】python基础
一.python开发 1.开发: 1)高级语言:python .Java .PHP. C# Go ruby c++ ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...
- 【Python之路】第二篇--初识Python
Python简介 Python可以应用于众多领域,如:数据分析.组件集成.网络服务.图像处理.数值计算和科学计算等众多领域.目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube.D ...
- 初学Python——文件操作第三篇
一.引言 什么?有了第二篇文件操作还不够?远远不够!而且在读完第三篇文件操作还是不够.关于文件的操作,后续的学习中将不断学习新的操作方式,使用更加合适的方法. 进入正题,上一篇讲到,Python对文件 ...
- Python之路【第一篇】:Python简介和入门
python简介: 一.什么是python Python(英国发音:/ pa θ n/ 美国发音:/ pa θɑ n/),是一种面向对象.直译式的计算机程序语言. 每一门语言都有自己的哲学: pyth ...
- Python之路【第一篇】:Python前世今生
Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...
- Python之路: socket篇
(默认)与特定的地址家族相关的协议,如果是 ,则系统就会根据地址格式和套接类别,自动选择一个合适的协议 sk import socketip_port = ()sk = socket.socket( ...
随机推荐
- C#判断文字是否为汉字
/// <summary> /// 检测一个字符串是不是以汉字开始 /// </summary> /// <param name="str">要 ...
- 通知传值 notification
@implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.textF = [[UITextField ...
- J2EE判断重复的数据
import java.util.ArrayList; import java.util.List; import org.junit.Test; /** * 判断重复的数据 * @author Ya ...
- nextSibling,previousSibling,childNodes常见错误
在使用nextSibling与previousSibling时,常出现选不到预计对象的情况 eg: <div class="a">1</div> <d ...
- 【单源最短路模板】 poj 2387
#include <cstdio> #include <iostream> #include <stdlib.h> #include <memory.h> ...
- Spring Boot 系列教程12-EasyPoi导出Excel下载
Java操作excel框架 Java Excel俗称jxl,可以读取Excel文件的内容.创建新的Excel文件.更新已经存在的Excel文件,现在基本没有更新了 http://jxl.sourcef ...
- Spring Boot 系列教程2-Data JPA
Spring Data JPA 用来简化创建 JPA 数据访问层和跨存储的持久层功能. 官网文档连接 http://docs.spring.io/spring-data/jpa/docs/curren ...
- AI 人工智能 探索 (六)
这次我为 角色 attribute 添加了 多个属性 其中 att 是 好人 坏人 等属性, 显然 数字不同 就要打起来. grade 是智商属性 ,今天先做了 3的智商.也就是小兵智商.碰到就打 逃 ...
- margin
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- POJ - 3061 Subsequence(连续子序列和>=s的最短子序列长度)
Description A sequence of N positive integers (10 < N < 100 000), each of them less than or eq ...