欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python3中自定义包和导入自定义包

程序员文章站 2022-07-07 22:52:58
...
	第一篇博客,写得质量可能会不高,但希望能开个好头,努力成为优秀的程序员!

今天在恶补python基础知识,发现我对包,库,模块的定义非常模糊,于是我回头看了一下基础知识,也是一时兴起想让跟我一样一开始有些困惑的人避坑!

什么是包?

要想知道什么是包,得先了解一下模块的概念!
Python3中自定义包和导入自定义包
知道了模块,那紧接着看看包:
Python3中自定义包和导入自定义包

上面是我从https://www.cnblogs.com/zyrblog/p/10011209.html摘来的信息,感觉算是比较通俗易懂的解释了。但是我实操了一下,发现出大问题!

Python3中自定义包和导入自定义包
Python3中自定义包和导入自定义包

原因是我看了以上的介绍,然后去pycharm里直接新建了一个文件夹,然后在这个文件夹中又新建了__init__.py文件和其他的.py文件并写了一些简单的函数,然后在test.py文件中试着导入了一下,卧槽?语法错误?我佛了,我后来又在继续定义了一些包,无一例外都是语法错误

痛定思痛,我继续百度,但是还是不觉得自己错了,因为我的确有定义__inti__.py文件呀,我命名也没啥问题呀…知道我想再来试一次的时候,发现pycharm右键新建文件或文件夹时可以直接建一个包!!!!上图!
Python3中自定义包和导入自定义包
我去,发现新大陆,然后我试着点击了它,命名为People,直接就生成了一个包的雏形,自带__init__.py文件!
Python3中自定义包和导入自定义包
然后我按照刚刚5次失败的手法再次试了一次,并在测试文件test.py中试着导入了一下,额…一步到位!!!导入我的包终于没有红线了!
Python3中自定义包和导入自定义包
Python3中自定义包和导入自定义包
但是大家注意一下:
包里面的.py文件最好不要与里面的函数重名,否则会出现TypeError**
我这里本想来一个错误示范,但发现好像成功了,额,原因我再找找!

下面开始技术总结(其实没啥技术…):

自定义包:

PS:我用的是Anconda自带的python3.7,pycharm是2019.3的社区版
(1)在想创建包的目录下,右键New选择里面的Python Package,命名,然后你就可以看到该目录下多了一个包,里面自带__init__.py文件,这个文件可以为空,也可以写点东西,看自己需要吧。
(2)创建完包之后,可以在里面定义多个.py文件,写上你觉得需要的函数,因为都可以被导入到你想要的文件里!

导入包

导入包有三种方法(都是我百度看到的)
(1)特定导入
import Packagename.filename
from Packagename import filename
通过这种方法导入可以直接通过 filename.function() 的方法实现特定函数的调用
(2)整体导入
import Packagename
from Packagename import
这两种方法比较简单粗暴,但是如果该包下面有多个子包,这种方法会显得比较繁琐
(3)通过sys导入
这个我还不太清楚,就不误人子弟了

第一次写博客,感觉质量真的不高,希望大家不要嫌弃,我争取以后写出一些高质量博客来,谢谢!

相关标签: python