(转)PyCharm中Directory与Python package的区别
来源:互联网 发布:京东商城seo解决方案 编辑:程序博客网 时间:2024/05/21 17:38
对于Python而言,有一点是要认识明确的,python作为一个相对而言轻量级的,易用的脚本语言(当然其功能并不仅限于此,在此只是讨论该特点),随着程序的增长,可能想要把它分成几个文件,以便逻辑更加清晰,更好维护,亦或想要在几个程序中均使用某个函数,而不必将其复制粘贴到所有程序中。
为了支持这一点,Python有一种方法将定义函数放在一个文件中,并在脚本中使用它们,这样的文件叫做模块,一个模块中的定义可以被导入到其他模块,或者主模块中。
简单来说在python中模块就是指一个py文件,如果我们将所有相关的代码都放在一个py文件中,则该py文件既是程序由是模块,但是程序和模块的设计目的是不同的,程序的目的是为了运行,而模块的目的是为了其他程序进行引用
- Dictionary
Dictionary在pycharm中就是一个文件夹,放置资源文件,对应于在进行JavaWeb开发时用于放置css/js文件的目录,或者说在进行物体识别时,用来存储背景图像的文件夹。该文件夹其中并不包含_ _ init.py_ _文件
- Python package
对于Python package 文件夹而言,与Dictionary不同之处在于其会自动创建_ _ init.py_ _文件。
简单的说,python package就是一个目录,其中包括一组模块和一个_ _ init.py_ _文件。- Image/
- _init _.py
- jpg.py
- tiff.py
- bmp.py
只要image目录是我们程序目录的子目录,我们就可以导入image目录下的任意模块来为我们所用,使用时可如下:
_ _ init_ _.py
该文件与Python的import机制有关,这关乎到你的哪些.py文件是对外可访问的。有些时候,如果一个包下有很多模块,在调用方import如此多模块是很费事,且不优雅的,此时可以通过修改_ _ init_ _.py来完成该任务。
在_ _ init_ .py中定义特殊变量_ all_ ,将要包含的模块复制给该变量,例如在Image/ _ init_ .py中定义 all _=[‘tiff’,’bmp’,’jpg’],这里的all 对应的就是 from …import * 中*代指的模块,此时在引用方使用如下语句:
其实_ _ init_ .py可以为空,当其为空时,from Image import * 将Image包下所有的模块都进行引用,如果想要控制引用的模块,则可以自行定义 all _
- (转)PyCharm中Directory与Python package的区别
- PyCharm中Dictionary与Python package的区别
- Pycharm中Directory与Package区别及如何导入module
- PyCharm中Python的“ ModuleNotFoundError ”
- Android中applicationId与package name的区别
- pycharm pip install to user's package directory
- package与folder的区别
- package与import的区别与联系(原创)
- pycharm 中创建python file 的templates
- Pycharm和Anaconda中如何安装package
- Pycharm和Anaconda中如何安装package
- package,import,include的联系与区别(转载)
- spark+pycharm+python(主要介绍pycharm的设置)
- maven的package与install命令区别
- maven的package与install命令区别
- maven的package与install命令区别
- maven的package与install命令区别
- maven的package与install命令区别
- 基于GANs的图像编辑方法
- AI浪潮席卷而来,现在加入还来得及吗?
- vue-router 2.0 常用基础知识点之router.push()
- 《程序员的职业素养》【PDF】下载
- AOE关键路径
- (转)PyCharm中Directory与Python package的区别
- 回顾周杰伦17年间的歌词,才知道他都唱了些什么
- PHP 将Unicode中文编码转换成Utf8中文
- 论文笔记:Learning to Detect Violent Videos using Convolutional Long Short-Term Memory
- 一、Java并发编程基础篇(003)同步异步
- Tensorflow Cuda 8.0 CuDNN 6.0 Python 3.5
- 动态代理[JDK]机制解析
- EasyScope(示波器控制软件)v3.0软件中文版下载附教程
- hdu 1513