python安装包和pycharm安装包区别_PyCharm中Directory与Python package的区别

Python中的模块是包含函数和定义的.py文件,用于代码复用和组织。Dictionary在PyCharm中是存放资源文件的文件夹,而Python Package是包含一个初始化文件_ _init_ _.py的文件夹,用于组织模块。PyCharm中,创建Directory不会生成_ _init_ _.py,而Package会。理解这些差异有助于更好地管理和组织Python项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于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中Dictionary与Python package的区别

Dictionary Dictionary在pycharm中就是一个文件夹,放置资源文件,对应于在进行JavaWeb开发时用于放置css/js文件的目录,或者说在进行物体识别时,用来存储背景图像的文件 ...

PyCharm选中文件夹新建时Directory与Python package的区别

pycharm创建普通的directory和package时都是在硬盘上建立一个文件夹.但是建package时会在这个文件夹中自动地生成一个空的__init__.py文件.python的一个包是一个带 ...

python入门-PyCharm中目录directory与包package的区别及相关import详解

一.概念介绍 在介绍目录directory与包package的区别之前,先理解一个概念---模块 模块的定义:本质就是以.py结尾的python文件,模块的目的是为了其他程序进行引用. 目录(Dict ...

Python入门之PyCharm中目录directory与包package的区别

对于Python而言,有一点是要认识明确的,python作为一个相对而言轻量级的,易用的脚本语言(当然其功能并不仅限于此,在此只是讨论该特点),随着程序的增长,可能想要把它分成几个文件,以便逻辑更加清 ...

Pycharm中对与Python的快捷方式

转自博客园 @python~小成录 pycharm常用快捷键与设置   pycharm高频率使用的快捷键 Ctrl+Shift+F10 运行当前的页面 Ctrl + / 注释(取消注释)选择的行 Ct ...

ros2中创建一个python package

完整的python package的目录结构如下: source /opt/ros/dashing/setup.bash cd ros2_ws/src && ros2 pkg crea ...

Pycharm中如何安装python库

1首先打开pycharm工具,选择File中的Setting选项,如下图所示 2在打开的setting界面中我们点击python的解释器,你会看到很多导入的第三方库,如下图所示,点击最右边的加号 3在 ...

随机推荐

linux ps查看进程命令

linux ps查看进程命令ps命令作用:将某个时间点的程序运作情况撷取下来 实例: [root@linux ~]# ps aux [root@linux ~]# ps -lA [root@linux ...

JavaNIO缓冲区

package com.nio.test; import java.nio.ByteBuffer; import org.junit.Test; /** * * @author fliay * * 一 ...

Python json序列化

Python内置的json模块提供了非常完善的对象到JSON格式的转换.废话不多说,我们先看看如何把Python对象变成一个JSON: d = dict(name='Kaven', age=17, s ...

Elasticsearch先聚合再按时间排序返回需要的字段

{ "query": { "bool": { "must": [ { "term": { "area_code ...

redis 配置文件示例

# redis 配置文件示例 # 当你需要为某个配置项指定内存大小的时候,必须要带上单位,# 通常的格式就是 1k 5gb 4m 等酱紫:## 1k  => 1000 bytes# 1kb =& ...

JS + jQuery 实现元素自动滚动到底部,兼容IE、FF、Chrome

HTML代码:

  • 删除虚拟机 ...

    Leetcode 357

    没用过Leetcode刷题,只能按照自己的想法随便写写了 思路:1.第一位数有9种(除了0)可能,第二位数有9种(除了第一位)可能,第三位数有8种(除了前两位)可能,以此类推...9*8*7*...( ...

    Python3 小工具-ICMP扫描

    from scapy.all import * import optparse import threading import os def scan(ipt): pkt=IP(dst=ipt)/IC ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值