首页 > 编程语言 >python 怎么组织代码?

python 怎么组织代码?

时间:2023-12-11 14:15:24浏览次数:38  
标签:__ __. python 组织 代码 py init 文件夹

参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1017454145014176

1. 为什么不能把代码写到一个 .py 中?

实际开发中,我们不可能把所有的代码都写到一个 .py 文件中,看起来太累了,并且难以修改,修改后难免要考虑会不会影响别的。

解决方法:把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少。Python中,一个.py文件就称之为一个 Module)。

2. 使用 多个 .py 文件有什么好处?

  1. 提高了代码的可维护性
  2. 可以复用其他 .py 中的代码
    • 自己写的
    • python 内置的
    • 第三方的

3. 多个 .py 怎么组织?不同的人编写的 .py名字 相同怎么办?

张三写了个 a.py, 李四也写了个 a.py,怎么解决冲突呢?

Python 引入了按文件夹来组织 .py 的方法,称为 Package

只要 文件夹的名字 不冲突,那么不同文件夹下有相同的名字的 .py,也不会冲突。

4. 怎么把一个 文件夹 变为一个 Package?

解决:添加一个 __init__.py 文件。否则,那个文件夹就是一个 普通文件夹。

__init__.py 可以是空文件,也可以有 Python 代码,因为 init.py本身就是一个 .py ,而它的 .py 名就是 文件夹名。

当我们点击跳转的时候,比如

import numpy

我们会进入 numpy 文件夹下的 __init__.py

5. __init__.py 文件 中应该要写什么?

可以写一些代码,一般我们会写一些 和当前 __init__.py 文件 同级的一些文件的导入代码。

当我们需要引用这个 Package 中的代码时候,我们就可以 直接 import 该 Package 即可,就会自动导入你在 __init__.py 写的东西,导入更加简单了。

6. __init__.py 文件 写了有什么用?

通过在 __init__.py 文件 中写代码,我们导入这个 Package 的时候就可以直接导入这个 Package 内的函数、类等等

from 文件名 import xxx

标签:__,__.,python,组织,代码,py,init,文件夹
From: https://www.cnblogs.com/odesey/p/17894241.html

相关文章

  • 出生率持续下降,而低代码,成了!
    低代码这个概念在IT界应该是火了很久,在十年前就有低代码的概念。 在最初的时候,我们都是用高级语言或者脚本来开发页面或者应用,比如Java、C++,前端会使用Vue、React等等。但是我们发现经常写的功能或者页面都是重复的,那能否通过更简单高效的方式来避免每次都是重头开发呢?当时业......
  • Notepad++ 代码格式化插件工具
    因为notepad++的NppAStyle插件只支持格式化C、C++、C#、Java这四种编程语言的代码,所以推荐使用这个CoolFormat的插件,相比于NPPAStyle,CoolFormat支持C\C++\C#\CSS\HTML\Java\JavaScript\JSON\Objective-C\PHP\SQL\XML代码格式化工具。还可以作为VisualStudio2013、SublimeText、......
  • [Python急救站]文件管理工具
    对于一个程序员,有时候文件太多,忘记放哪里了,那有没有一个可以帮你定位到文件的文件管理工具呢,抱着这样的想法,我做了以下这个代码,可以快速定位找到文件所在位置。importosimporttkinterastkimporttimeimportsubprocess#函数用于搜索文件defsearch_files():file......
  • 图片铺满div元素不变形,超出部分隐藏,保留中心部分css代码
    在我们网站更新文章的时候,经常会插入图片,丰富信息。但是我们插入的图片长宽比例并不一定是固定的。我们在调用缩略图的时候,常常会出现图片变形的情况,高和宽不成比例。那么如何让图片不变形,又能铺满div元素呢?我们可以使用css代码中object-fit属性来实现。object-fit属性指定元素的......
  • Linux学习36- python3.9出现ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+
    遇到问题python3.9上安装requests库,requests包引入了urllib3,而新版本v2.x的urllib3需要OpenSSL1.1.1+以上版本所以就出现了报错File"/root/python39/lib/python3.9/site-packages/_pytest/assertion/rewrite.py",line186,inexec_moduleexec(co,module.__dict__......
  • 村庄规划标识码和要素代码自动赋值
    下载:资源下载介绍:整个数据库自动编标识码和要素代码。操作:1.拷贝整个CZGH文件夹,利用arcgis打开,选择村庄规划质检数据库(数据库存放文件夹不能为汉语,数据库名称不能为汉语),输入村委会代码点击确定即可。2.由于GHWB和SGTJ两个表中文件名称与要素代码名称有些不一致,需要人......
  • Linux学习35- python3.9出现ModuleNotFoundError: No module named '_ctypes'的解决
    遇到问题pip安装第三方库的时候报错ModuleNotFoundError:Nomodulenamed'_ctypes'File"/usr/local/python3/lib/python3.9/ctypes/__init__.py",line7,in<module>from_ctypesimportUnion,Structure,ArrayModuleNotFoundError:Nomodulen......
  • 10行Python代码能做出哪些酷炫的事情?
    Python凭借其简洁的代码,赢得了许多开发者的喜爱。因此也就促使了更多开发者用Python开发新的模块,从而形成良性循环,Python可以凭借更加简短的代码实现许多有趣的操作。下面我们来看看,我们用不超过10行代码能实现些什么有趣的功能。一、生成二维码二维码又称二维条码,常见的二维码为QR......
  • spring boot 项目实现调用python工程的方法
    在SpringBoot中调用Python脚本或工程,主要有以下几种方式:1.使用ProcessBuilder或Runtime执行Python脚本这是最直接的方法,使用Java的ProcessBuilder或Runtime.getRuntime().exec()来执行Python脚本。优点:实现简单,无需额外依赖。缺点:处理输出和错误流可能较为繁琐......
  • 关于代码质量度量和分析的一些总结
     最近团队做CMMI3认证,这期间涉及到了代码质量度量。花了点时间做了总结,分享给大家。先看一张整体的图,然后逐个指标展开说明。 一、单元测试覆盖率单元测试覆盖率(Coverage)是一个度量单元测试覆盖了多少代码的指标。它是一种衡量测试质量的方法,用来指示我们的测试用例覆盖了......