包概念与__init__注意事项

 1.包的概念

为了组织好模块,将多个模块分为一个包。包是python模块文件所在的目录,且该目录下必须存在__init__.py文件。常见的包结构如下:

package_a

├── __init__.py

├── module_a1.py

└── module_a2.py

package_b

├── __init__.py

├── module_b1.py

└── module_b2.py

2个模块功能有些联系:

 

所以将其放到同一个文件夹下:


使用import 文件.模块 的方式导入:

 


使用from 文件夹 import 模块 的方式导入:

 


msg文件夹下创建__init__.py文件:


 __init__.py文件中写入:


重新使用from 文件夹 import 模块 的方式导入:


包将有联系的模块组织在一起,即放到同一个文件夹下,并且在这个文件夹创建一个名字为__init__.py 文件,那么这个文件夹就称之为包。

有效避免模块名称冲突问题,让应用组织结构更加清晰。

2 __init__.py

__init__.py 控制着包的导入行为

如果__init__.py为空,那么仅仅是将包导入,不会导入包的任何模块。

__init__.py文件中,定义一个__all__变量,它控制着 from 包名 import *时导入的模块。

可以在__init__.py文件中编写内容,可以在这个文件中编写语句,当导入时,这些语句就会被执行。

_init__.py

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474338.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器上有涉密文件,涉密文件保密管理规定

为贯彻落实国家和省、市、区保密局对涉密文件资料管理工作的要求,进一步做好我办涉密文件资料管理,特制定本规定。一、涉密文件的拟制、印刷、传递、承办、借阅、保管、归档、移交和销毁,必须严格履行审批、清点、登记、签收等手续。二、涉密…

服务器文件同步管理

服务器文件同步管理 原文 http://www.cnblogs.com/yanxiaodi/archive/2011/03/21/2296462.html 前几天有台服务器电源坏了,还好数据没有丢。因此必须做好服务器文件内容的备份。服务器主要是用来提供网站服务,带着一个数据库,数据库可以用分发…

LeetCode 774. 最小化去加油站的最大距离(极小极大化 二分查找)

文章目录1. 题目2. 解题1. 题目 假设我们在一条水平数轴上,列表 stations 来表示各个加油站的位置,加油站分别在 stations[0], stations[1], ..., stations[N-1] 的位置上,其中 N stations.length。 现在我们希望增加 K 个新的加油站&…

修改软件服务器json返回数据格式,AngularJS处理服务器端返回的JSON数据的格式问题...

用ng的$http服务发起ajax请求,php返回的JSON数据格式要正确!一开始我的php页面是这样返回数据的:if($result){$oid mysqli_insert_id($conn);echo "{msg:succ,oid:$oid}";}else{echo "{msg:error}";}然后总是报错&#…

python编码规范与命名规范

编码规范 不要在行尾加分号, 也不要用分号将两条命令放在同一行. 每行不超过80个字符,Python会将 圆括号, 中括号和花括号中的行隐式的连接起来 , 你可以利用这个特点. 如果需要, 你可以在表达式外围增加一对额外的圆括号.例如: x (This will build a …

Linux学习笔记(4) - 文件系统

4.1 什么是文件系统 文件系统表示存储在计算机上的文件和目录的数据结构,也可以用于存储文件的分区或磁盘,操作系统通过文件系统可以方便地查询和访问其中所包含的磁盘块。在Linux系统中,每个分区都是一个文件系统,都有自己的目录…

LeetCode 644. 最大平均子段和 II(二分查找)*

文章目录1. 题目2. 解题2.1 暴力超时2.2 二分查找1. 题目 给定一个包含 n 个整数的数组,找到最大平均值的连续子序列,且长度大于等于 k。并输出这个最大平均值。 样例 1: 输入: [1,12,-5,-6,50,3], k 4 输出: 12.75 解释: 当长度为 5 的时候&#xff…

python基础学习总结

1.python历史 Guido 89年圣诞开写 91年编辑器问世 优点与缺点 优点:简单、易学、免费开源、高层语言 可移植、解释、面向对象、扩展 丰富库、规范代码 缺点:运行速度、国内市场小、中文资料少 2.模式:文本、交互、集成开发 程序原理&am…

学生管理系统代码赏析

# 添加、删除、显示学生信息(保存) # 保存所有学生信息 students {} # 创建 ID 1000 # 控制系统是否退出 flag True # 从文件中读取学生信息 def load_students(): # 加载学生信息从文件中 stu_file open("students.txt",&quo…

LeetCode 527. 单词缩写(Trie树)

文章目录1. 题目2. 解题1. 题目 给定一个由n个不重复非空字符串组成的数组,你需要按照以下规则为每个单词生成最小的缩写。 初始缩写由起始字母省略字母的数量结尾字母组成。若存在冲突,亦即多于一个单词有同样的缩写,则使用更长的前缀代替…

POJ 1523 SPF (割点 点双连通分量)

题意:求出割点以及除去割点后的连通分量的数量(附带求出了点双连通分量(块)) [求割点]对图深度优先搜索,定义DFS(u)为u在搜索树(以下简称为树)中被遍历到的次序号。定义Low(u)为u或u的子树中能通过非父子边追溯到的最早的节点&…

质数——python代码赏析

一、求(2—您输入数字)之间的质数: num int(input("请输入您要输入的数字:"))a[] if num 2:a.append(2) elif num >2:for i in range(2,num1):for j in range(2,i):if i %j 0:breakelse:a.append(i)print(a) 二、求2-100之间…

LeetCode 1199. 建造街区的最短时间(优先队列贪心)

文章目录1. 题目2. 解题1. 题目 你是个城市规划工作者,手里负责管辖一系列的街区。在这个街区列表中 blocks[i] t 意味着第 i 个街区需要 t 个单位的时间来建造。 由于一个街区只能由一个工人来完成建造。 所以,一个工人要么需要再召唤一个工人&…

用Android-X86和VirtualBox打造高性能Android开发环境

现在已经采用genymotion替换下面的方法 https://www.genymotion.com转载于:https://www.cnblogs.com/sunzhuo1228/archive/2013/05/30/3109445.html

LeetCode 1088. 易混淆数 II(回溯/BFS)

文章目录1. 题目2. 解题2.1 回溯2.2 BFS1. 题目 本题我们会将数字旋转 180 来生成一个新的数字。 比如 0、1、6、8、9 旋转 180 以后,我们得到的新数字分别为 0、1、9、8、6。 2、3、4、5、7 旋转 180 后,是 无法 得到任何数字的。 易混淆数&#xf…

python——import导入模

1.import 搜索路径 import sys sys.path 路径搜索 从上⾯列出的⽬录⾥依次查找要导⼊的模块⽂件 表示当前路径 程序执⾏时导⼊模块路径 sys.path.append(/home/itcast/xxx) sys.path.insert(0, /home/itcast/xxx) #可以确保先搜索这个路径 I…

timer.schedule定时器用法

Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。 TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。 schedule的意思(时间表、进度表) timer.schedule(new MyTas…

LeetCode 759. 员工空闲时间(排序)

文章目录1. 题目2. 解题1. 题目 给定员工的 schedule 列表,表示每个员工的工作时间。 每个员工都有一个非重叠的时间段 Intervals 列表,这些时间段已经排好序。 返回表示 所有 员工的 共同,正数长度的空闲时间 的有限时间段的列表&#xf…

python——作用域 == is

作⽤域 test.py num 200 def print_num(): print("----print_num func, num%d----"%num) main.py from test import * num 100 def print_num2(): print("----print_num2 func, num%d----…