文档章节

python package __init__

山下狮子
 山下狮子
发布于 2014/08/15 17:51
字数 200
阅读 34
收藏 0

当一个文件夹有__init__时,这个文件夹就是一个package,


包也是对象,可以初始化

类里面有这个吧,代表可以初始化对象。这里也有这个意思-初始化这个包。

在__init__里你可以写函数,类,导入别的包,然后这些就是这个包的属性了。

例如:

test

    | __init__

    | a.py

    | b.py

__init__.py:

print 111

def fuction():

    print 'dsdsdsd'

class  CCCCC(object):

    xxxxx


这时在另外的一个地方(领完需要导入test的地方)

import test

test.function()

ccc = test.CCCCC()  


所以当你在导入一个模块时,要么在包下,要吗不是,当在包下时,每次导入都会初始化这个__init__,同一个地方只会初始化一次。你就可以在导入模块时,预先干一些事情。




© 著作权归作者所有

山下狮子
粉丝 24
博文 115
码字总数 58167
作品 0
东城
程序员
私信 提问
python __init__.py

python中的Module是比较重要的概念。常见的情况是,事先写好一个.py文 件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的.py文件所在...

整理秀逗的脑袋
2011/12/29
1K
5
ModuleNotFoundError: No module named '_gdbm' ModuleNotFoundError: No module named 'gdbm' 'apt_pkg'

在ubutu16.04中将默认的python版本更换为3.6.5的过程中出现下面问题 在终端输入其他命令的过程中也同样出现了下面问题,求教,谢谢各位,第一次提问 Traceback (most recent call last): Fil...

damengshen
2018/06/27
2.4K
0
ubuntu软件中心打不开No module named 'apt_pkg'

故事的起源:最近看了《黑客与画家》,决定要学个动态语言,但lisp难点,ruby又是鬼子搞的,所以选了python。ubuntu12.10里python的默认版本是2.7,但我看最新的是3.3,于是,更新癖再犯,各...

好铁
2013/04/12
4.8K
0
[NLP的那些坑] jieba

问题1 解决方案 from jieba import analyse analyse.extract_tags(content, topK=5, withWeight=True, allowPOS=()) 原因 在讲原因之前必须讲一下init.py 1、init.py是Python中package的标识......

Eappo_Geng
09/03
20
0
python基础name&direction

some problem in python 1. main & name 有人一句话概括了这段代码的意义: ”Make a script both importable and executable“ 意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该...

habits
2017/08/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

cleanLastUpdated.bat

@echo offrem create by AnXiaole rem 这里写你的仓库路径set REPOSITORY_PATH=C:\Users\AnXiaole\.m2\repositoryrem 正在搜索...for /f "delims=" %%i in ('dir /b /s "%REPO......

安小乐
29分钟前
6
0
操作放大器的用法是什么?

  有区别   1、单级放大的倍数比较有限,一般在100倍以下。放大倍数很大的话,负反馈就比较浅,对于放大倍数的稳定性不利。假如需要放大倍数更高,就不得不动用多级放大电路了。单级放大...

仙溪
31分钟前
3
0
c++ 上传文件 curl

bool uploadFile(std::string url, std::string file, std::string auth) { boost::filesystem::path p(file); CURL *curl; CURLcode res; struct curl_httppost *for......

青黑
37分钟前
3
0
冒泡与插入排序的代码实现

// 冒泡排序,a 表示数组,n 表示数组大小public void bubbleSort(int[] a, int n) { if (n <= 1) return; for (int i = 0; i < n; ++i) { // 提前退出冒泡循环的标志位 ...

无名氏的程序员
40分钟前
4
0
centos7.6 +mhvtl1.6安装

以前的mhvtl都是在centos6.x,5.x上安装的mhvtl以前版本为1.4,现在最新的1.6出来,可以安装在centos7.6上,下面是安装过程: 1.安装基础包 centos7.6只要能上外网,默认是配置了yun源的,这些...

突突突酱
42分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部