用包管理python代码,提高开发效率

有一个月没更新博客文章了,主要原因是我在摸索新知识,探索未知,以后有机会写写这段时间的成果,将会在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 One

if __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.pyc

4 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 two

class 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编程专题开篇之作,希望是个好的开始。好的编程习惯从管理代码开始,下一篇见。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值