欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

如何用Python写一个Package

发布时间:2025/3/15 python 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 如何用Python写一个Package 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

首先我需要描述一下要做的这件事情。假定我们有2个类,分别为Person类、Stu类,我们要将这2个类分装成一个包,就是这么简单,那么废话不多说,让我们操作起来。

  • 第1步.建立一个Package,命名为Demo1
    右击项目名->new->Python Package
  • 第2步.在Demo1包下创建Person
class Person:def __init__(self,name,gender):self.name = nameself.gender = genderdef printinfo(self):print(self.name,self.gender)
  • 第3步.在Demo1包下创建Stu
class Stu():def __init__(self,name,gender,stuid):self.name = nameself.gender = genderself.stuid = stuiddef printinfo(self):print(self.name,self.gender,self.stuid)

完成上述步骤之后,目录结构应该如下图所示:

  • 第3步.如果你使用的IDE是PyCharm,那么当你建立一个Package时,在这个包下会自动生成一个__init__.py文件。如果没有使用PyCharm,那么需要你在Package下自行创建__init__.py文件。当一个文件夹下有__init__.py文件时,Python认为这个文件夹是一个包,__init__.py可以为空,也可以写入一些语句。这里我们写入一些语句,该语句分别从Person和Stu两个模块(modules)里导入Person类和Stu类,也就是说一旦我们导入Person和Stu这两个模块,__init__.py会自动帮我们导入Person类和Stu类,从而我们可以直接使用这两个类。
    • 写法1
    from .Person import Person from .Stu import Stu
    • 写法2
    from Demo1.Person import Person from Demo1.Stu import Stu

到此,一个Python的Package就创建好了!

  • 第4步.测试,在Demo1下创建test.py文件
from Demo1.Person import Person from Demo1.Stu import Stuif __name__ == '__main__':p = Person('djk','man')s = Stu('djk','man','nwnu')p.printinfo()s.printinfo()

Note!!!!!!!!!!:
在__init__.py文件中,我们可以使用以下这种写法:

from .Person import Person from .Stu import Stu

这不会报错;但是如果在测试文件或不是在__init__.py文件中用这种写法,那么就会报错。假如我在test.py测试文件中用以上这种写法,就会报以下的错误:

要想避免这种错误,那么就不要偷懒了,导入包或者模块的时候都用绝对路径,尽量不用相对路径!!

总结

以上是生活随笔为你收集整理的如何用Python写一个Package的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。