首页 > 编程语言 >PyCharm中New Directory 和 New Python Package的区别

PyCharm中New Directory 和 New Python Package的区别

时间:2023-12-18 22:26:29浏览次数:38  
标签:__ 文件 __. Package Python py init New

如题,这是一个很简单也很基础的问题,先看不同操作的结果有什么不同

结果1:项目下出现了一个空“文件夹”

 结果2:项目下多了一个“Python Package”,该package下包含了一个“__init__.py”文件,该py文件是空的

如果把该py文件删掉后,package也就变成了directory


 

 所以什么是__init__.py

在 Python 中,一个包含 __init__.py 文件的目录被视为一个 Python 包。这个 __init__.py 文件的存在有几个重要的意义和作用。

__init__.py的作用和功能

  1. 标识包:

    • __init__.py 文件的主要作用是标识目录为一个 Python 包。即使这个文件为空,它的存在也允许 Python 正确识别并处理该目录下的模块。
  2. 初始化代码:

    • 当导入一个包时,__init__.py 文件中的代码会首先被执行。这意味着你可以在这个文件中放置一些初始化代码,例如包级别的变量初始化、特定的包初始化操作等。
  3. 控制可导入的模块:

    • 在 Python 3.3 之前,__init__.py 文件还被用来定义包内哪些模块是对外可见的(即可以被导入的)。这是通过在 __init__.py 文件中指定 __all__ 列表来实现的。尽管在新版 Python 中这不再是必需的,但仍然可以用来明确指定包对外公开的接口。
  4. 命名空间的组织:

    • __init__.py 文件也用于组织大型代码库的命名空间。通过在这个文件中导入子模块和子包,你可以使得外部对包的使用更加方便和有序。
  5. 向后兼容:

    • 尽管从 Python 3.3 开始,隐式的命名空间包允许创建没有 __init__.py 的包,但为了向后兼容,许多项目仍然保持使用 __init__.py 文件。
  6. 包的分发和安装:

    • 在创建可分发的包时(例如使用 setuptools),__init__.py 文件是定义包内容和结构的重要组成部分。

综上,一些简单的细节。。。

 

 

参考:知识点总结主要来自chatGPT  4

标签:__,文件,__.,Package,Python,py,init,New
From: https://www.cnblogs.com/HOI-Yzy/p/17912504.html

相关文章

  • Newton-Leibniz公式、可积的充分必要条件、积分中值定理、微积分基本定理
    ......
  • Python 使用 platform 判断检测操作系统的方法
    ​ 在Python中,可以使用platform模块来获取操作系统的信息。其中,platform.system()方法可以获取操作系统的名称。详细文档:Python使用platform判断检测操作系统的方法-CJavaPy使用platform.system()方法判断操作系统以下是一个使用platform.system()方法判断操作......
  • Python NumPy 图像处理
    ​ 1、读取图像需要使用图像处理库来读取图像文件,如Pillow,并将其转换为NumPy数组。示例代码:PythonNumPy图像处理-CJavaPy2、保存图像使用NumPy处理后的图像可以再次转换为Pillow图像 示例代码:PythonNumPy图像处理-CJavaPy3、转换为灰度图可以通过将RGB值转换为......
  • Python:设计模式
    一、设计模式与面向对象1.1设计模式  软件设计阶段针对反复出现的问题提出的统一解决方案。每类问题的解决方案都被系统的命名为XX设计模式。1.2面向对象  按照一件事的组成元素分别制作进行组装。这些元素分为属性与接口。1.2.1三大特性  封装:将对象封装为类,将对......
  • 自动化文件管理:使用Python创建匹配Excel数据的文本文件
    介绍在日常工作中,我们经常需要处理大量的数据和文件。尤其是在处理涉及多层嵌套目录和数据文件时,手动操作变得极其繁琐和耗时。为了提高效率,自动化这一过程显得尤为重要。本博客介绍了一个实用的Python脚本,它能够自动读取Excel表格中的数据,并在相应的文件夹中创建文本文件。这个......
  • *Python 下载视频
    python下载文件的三种方法_python下载文件_xiaoyaozi2020的博客-CSDN博客......
  • Python获取时间戳
    一、获取时间戳importtimeimportdatetimet=time.time()print(t)#原始时间数据print(int(t))#秒级时间戳print(int(round(t*1000)))#毫秒级时间戳print(int(round(t*1000000)))#微秒级时间戳#输出#16488......
  • Python基础知识
    一、先置知识1、标识符标识符由字母、数字、下划线组成。所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。标识符是区分大小写的。以下划线开头的标识符是有特殊意义的。以单下划线开头_foo的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用**......
  • ***Python语句操作
    一、条件控制Python中有哪些值代表FalseNoneFlase0"":空字符串[]:空列表{}:空字典():空元组1、if语句ifcondition_1:statement_block_1elifcondition_2:statement_block_2else:statement_block_3注意:1、每个条件后面要使用冒号**:**,表示接下来......
  • 自动化查找并记录含图片文件夹的Python脚本
    功能介绍此Python脚本用于遍历指定的父目录,自动识别并记录所有包含图片文件(如PNG、JPG、GIF等格式)的子文件夹。脚本运行后,将在父目录下生成一个名为“文件夹名统计”的Excel表格,其中列出了所有含有图片的文件夹名称。这对于整理大量分散在不同子文件夹中的图片文件特别有用,尤其是......