Python3中自定义包和导入自定义包
第一篇博客,写得质量可能会不高,但希望能开个好头,努力成为优秀的程序员!
今天在恶补python基础知识,发现我对包,库,模块的定义非常模糊,于是我回头看了一下基础知识,也是一时兴起想让跟我一样一开始有些困惑的人避坑!
什么是包?
要想知道什么是包,得先了解一下模块的概念!
知道了模块,那紧接着看看包:
上面是我从https://www.cnblogs.com/zyrblog/p/10011209.html摘来的信息,感觉算是比较通俗易懂的解释了。但是我实操了一下,发现出大问题!
原因是我看了以上的介绍,然后去pycharm里直接新建了一个文件夹,然后在这个文件夹中又新建了__init__.py文件和其他的.py文件并写了一些简单的函数,然后在test.py文件中试着导入了一下,卧槽?语法错误?我佛了,我后来又在继续定义了一些包,无一例外都是语法错误
痛定思痛,我继续百度,但是还是不觉得自己错了,因为我的确有定义__inti__.py文件呀,我命名也没啥问题呀…知道我想再来试一次的时候,发现pycharm右键新建文件或文件夹时可以直接建一个包!!!!上图!
我去,发现新大陆,然后我试着点击了它,命名为People,直接就生成了一个包的雏形,自带__init__.py文件!
然后我按照刚刚5次失败的手法再次试了一次,并在测试文件test.py中试着导入了一下,额…一步到位!!!导入我的包终于没有红线了!
但是大家注意一下:
包里面的.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导入
这个我还不太清楚,就不误人子弟了
第一次写博客,感觉质量真的不高,希望大家不要嫌弃,我争取以后写出一些高质量博客来,谢谢!
推荐阅读
-
spring注解在自定义jar包中无法被扫描的解决方案
-
python3 导入自定义包 ModuleNotFoundError: No module named '__main__ 解决办法
-
asp.net core中遇到需要自定义数据包解密方法的时候
-
maven导入自定义jar包
-
Python3中自定义包和导入自定义包
-
SpringBoot工程中导入本地自定义Jar包——通过Maven打包导包(超详细)
-
Linux中自定义shell脚本启动jar包的方法
-
php通过JavaBridge调用Java类库和不带包的自定义java类成功 但是调用带包的自定义Java类报错,该怎么解决,求大神指点,多谢
-
php通过JavaBridge调用Java类库和不带包的自定义java类成功 但是调用带包的自定义Java类报错,该怎么解决,求大神指点,多谢
-
在 Colab 中导入自定义的模块(包)