38-包

简介: Python

包(Package)

__all__的作用
python模块中的all属性,可用于模块导入时限制,如:
from module import *
此时被导入模块若定义了all属性,则只有all内指定的属性、方法、类可被导入。
若没定义,则导入模块内的所有公有属性,方法和类
sendmsg.py

all = [‘stest’]

def stest():
print(“stest”)

def sstest():
print(“sstest”)

infomsg.py
from sendmsg import *
stest()
sstest()

前面我们已经介绍过,包是一种管理模块的手段,采用“包名.子包名…模块名”的调用形式,非常类似文件系统中的文件目录。但是包不等于文件目录!
只有包含init.py文件的目录才会被认作是一个包!
image.png

上图中的example、p1和p2都是包,因为它们目录内都有__init__.py文件,并且p1和p2是example的子包。
init.py可以是空文件,也可以有Python代码,init.py本身就是一个模块,但是要注意,它的模块名是它所在的包名而不是__init__。
举个包和模块之间调用的例子:
目录结构如下
image.png

互相导入示例
main.py
from msg import *
sendmsg.stest()

sendmsg.py
def stest():
print(“stest”)

def sstest():
print(“sstest”)
init.py
all = [‘sendmsg’]
main.py
import msg
msg.infosmsg.test()
infosmsg.py
def test():
print(“itest”)
__init.py
from . import *
all = [‘infosmsg’]

相关文章
|
7月前
|
SQL Java API
包的使用及其创建
包的使用及其创建
48 0
|
8月前
|
存储 Java
37 0
|
11月前
|
IDE 开发工具
R问题|如何本地安装 R 包
R问题|如何本地安装 R 包
408 0
R问题|如何本地安装 R 包
|
存储 Unix Shell
模块和包
在python中,每个python文件都可以作为一个模块,模块得名字就是文件得名字。也就是自定义模块名必须要符合标识符命名规则。
模块和包
npm安装依赖:全局包、本地包、测试包、package.json
npm安装依赖:全局包、本地包、测试包、package.json
337 0
gghalves包-你五毛我五毛
gghalves可以通过ggplot2轻松地编写自己想要的一半一半(half-half plots)的图片。比如:在散点旁边显示箱线图、在小提琴图旁边显示点图。
186 0
gghalves包-你五毛我五毛
|
IDE 开发工具
R问题|如何本地安装R包
平常在各种R语言群里,总会遇到关于安装R包的问题,例如:搭载在github上的R包,由于网速(外网)原因而无法下载该怎么办? 这里小编分享下平常逼不得已才使用的“下三滥”方法——直接下载包,通过本地安装。
1157 0
R问题|如何本地安装R包
|
缓存 开发者 Python
包|学习笔记
快速学习 包
|
域名解析 Ubuntu Linux
安装软件包
本文以阿里云软件源中的Apache服务器为例,为大家讲解如何在不同Linux发行版上安装软件包。
1287 0
安装软件包
|
视频直播 UED 开发工具