有一个月没更新博客文章了,主要原因是我在摸索新知识,探索未知,以后有机会写写这段时间的成果,将会在linux编程专题继续更新。
现在我打算写一个新的专题Python编程来总结过去点点滴滴的收获。这个专题面向有python基础的人,提高对于python的认识,使你更加熟练使用python语言。python编程专题默认环境是linux环境。

这篇文章是这个专题的开篇之作,所以我先介绍如何用包来管理和维护自己的代码,这很重要。

python语言有包(package)和模块(module)等概念,简单来说 包就是含有__init__.py文件的文件夹(目录),而模块就是文件夹(目录)下的python文件。

从创建一个包开始

mkdir Package
cd Package
touch __init__.py

创建Main.py和模块文件One.py,其目录结构如下

.
├── Main.py
└── Package├── __init__.py├── One.py└── __pycache__├── __init__.cpython-37.pyc└── One.cpython-37.pyc
2 directories, 5 files

One.py

#!/usr/bin/python3
class one:def __init__(self):print("One init ....")def Print(self,name):print(name)

Main.py

#!/usr/bin/python3
#直接导入模块One,包.模块
import Package.One
if __name__ == "__main__":#调用函数---》包.模块.类().函数Package.One.one().Print("Main.py ----> One.py")

如果觉得上面调用函数方式太长,可以使用import的两种变式,这两种是很常用的方式

  1. 使用as取别名,导入模块

  2. 使用from从模块中导入类

#!/usr/bin/python3
import Package.One as Oneif __name__ == "__main__":one=One.one()one.Print("Main.py ----> One.py")
#!/usr/bin/python3
from Package.One import one
if __name__ == "__main__":one().Print("Main.py ----> One.py")

其运行结果

One init ....
Main.py ----> One.py

写到这里,相信对于包和模块的使用已经了解,知道如何导入一个类,接下来继续探讨其用法。

在Package下新建一个包Forward,其目录结构如下

.
├── Main.py
└── Package├── Forward│   ├── __init__.py│   ├── __pycache__│   │   ├── __init__.cpython-37.pyc│   │   └── Two.cpython-37.pyc│   └── Two.py├── __init__.py├── One.py└── __pycache__├── __init__.cpython-37.pyc└── One.cpython-37.pyc4 directories, 9 files

Two.py

#!/usr/bin/python3
class two:def __init__(self):print("Two init ....")def Print(self,name):print(name)

One.py

#!/usr/bin/python3
from Package.Forward.Two import twoclass one:def __init__(self):print("One init ....")def Print(self,name):two().Print(name)

Main.py

#!/usr/bin/python3
from Package.One import one
if __name__ == "__main__":one().Print("Main.py ----> One.py")

运行结果

python3 Main.py
One init ....
Two init ....
Main.py ----> One.py

至此,关于包和模块的使用就讲解到这里,下面是总结

#导入模块
import package.module
import package.package.module
import package.package.module as module#类的使用
module.class()
#导入类
import package.module.class
#类的使用
class()

Python编程专题开篇之作,希望是个好的开始。好的编程习惯从管理代码开始,下一篇见。

用包管理python代码,提高开发效率相关推荐

  1. vscode自动补全插件c语言,一些提高开发效率的VSCode必备插件(分享),vscode代码补全插件...

    一些提高开发效率的VSCode必备插件(分享)提高开发效率的虚拟代码的一些重要插件(分享),本文推荐一些VSCode插件来提高效率.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有帮助.Vis ...

  2. 运用代码管理段来提升开发效率

    前言  在谈谈VS中的模板中,我介绍了如何创建项目/项模板,这种方式可以在创建项目时省却不少重复性的工作,从而提高开发效率.在创建好了项目和文件后,就得开始具体的编码了,这时又有了新的重复性工作,就是 ...

  3. python开发效率怎样提高_python 提高开发效率的5个小技巧

    很多时候学习是一种难者不会,会者不难的事情. 下面的5个python技巧是性价比极高的知识点,一学就会,不难但是相当管用. 使用交互模式 使用python -i xxxx.py可以直接进入python ...

  4. 低代码开发如何提高开发效率和降低成本

    低代码星球 点击上方蓝字 · 关注我们 CLICK THE BLUE WORD TO FOLLOW US 识别二维码加入我们 加入低码星球微信群 与低码爱好者交流 低代码开发已经成为软件开发中一股不可 ...

  5. python 电路仿真spice_提高开发效率和质量?用SPICE仿真音效

    我在网上查找音效电路原理图时想到,如果能在出图前先用通用模拟电路仿真器(SPICE)进行模拟检验,可能会提高开发效率和质量.但由于任何电子模拟器都无法读取并输出音频文件,所以我用Pythons波形模块 ...

  6. vscode php插件_JS之 提高开发效率的Visual Studio Code插件

    阅读本文约需要9分钟 大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈).上次老师跟大家分享了JS之 小技巧的知识,今天跟大家分享下JS之 提高开发效 ...

  7. 如何通过组件化提高开发效率?

    在软件开发过程中,大到业务模块的划分,小到技术组件的开发,都属于组件化的思考范畴内.很多时候我们到网上搜索「组件化」关键词,都只会看到关于前端组件化的资料,而对于后台开发组件化的资料却很少,那这是不是 ...

  8. IntelliJ Idea 常用10款插件(提高开发效率)

    转自:https://blog.csdn.net/weixin_41846320/article/details/82697818 Intellij IDEA 中一些很牛B 的插件:https://b ...

  9. 合理使用webpack提高开发效率

    虽然公司有提供现成的脚手架工具,但是作为开发人员懂得必要的相关知识还是很重要的.这样有利于提高我们的开发效率,优化我们的代码. 关于npm scripts 什么是npm scripts npm 允许在 ...

最新文章

  1. mysql self join_mysql self join的实现--left join 和inner join
  2. nginx 日志配置log_format用法
  3. 三十一、Java多线程编程(下篇)
  4. 如何处理Docker错误消息:please add——insecure-registry 1
  5. 用ul li实现边框重合并附带鼠标经过效果
  6. 转:漫画 我讨厌阅读别人的代码
  7. java运费模板设计_猿实战17——实现你未必知晓的运费模板
  8. python 什么时候后面要加冒号_Python中的每个if条件语句后面都要使用冒号。
  9. #includemmsystem头文件出错
  10. java安卓模拟器和电脑通信_Android 模拟器(JAVA)与C++ socket 通讯 分享
  11. 中国Linux源镜像站大全
  12. VIM+LaTexSuite配置
  13. 在计算机网络中 将网络的层次结构图,计算机网络基础试卷8
  14. HTML5与flash播放器
  15. 求职面试自我介绍技巧
  16. 微软 Windows 10 Version 2004 新功能盘点:分离Cortana,数项体验升级,抢先体验
  17. 基于梯度的PGD攻击
  18. 二,变量(variable)
  19. Windows下批量转换Silk v3音频文件为MP3格式
  20. JAVA黑白棋之算法浅析

热门文章

  1. github下载慢怎么办,国内下载release内容的解决办法
  2. ad20导出bom没有Value属性
  3. 指针常量、常量指针和常量指针常量
  4. leetcode939.MinimumAreaRectangle
  5. C#编码简单性之泛型篇(如何编写简短的C#代码,随时更新)
  6. 170609、Nginx配置文件详细说明
  7. node.js学习笔记5——核心模块1
  8. 九度oj题目1341:艾薇儿的演唱会
  9. kernel command line 参数详解
  10. c - 比较字符串的大小