PyCharm 随记01-新建文件中Directory和Python Package的区别

PyCharm 随记01-新建Directory和Python Package的区别


提要:本文写于2021-3-21,手撕毕设第一天,初识PyCharm。


PyCharm中Directory与Python package的区别

正文:

对于Python而言,有一点是要认识明确的,Python作为一个相对而言轻量级的,易用的脚本语言(当然其功能并不仅限于此,在此只是讨论该特点),随着程序的增长,可能想要把它分成几个文件,以便逻辑更加清晰,更好维护,亦或想要在几个程序中均使用某个函数,而不必将其复制粘贴到所有程序中。

为了支持这一点,Python有一种方法将定义函数放在一个文件中,并在脚本中使用它们,这样的文件叫做模块,一个模块中的定义可以被导入到其他模块,或者主模块中。

简单来说在python中模块就是指一个py文件,如果我们将所有相关的代码都放在一个py文件中,则该py文件既是程序由是模块,但是程序和模块的设计目的是不同的,程序的目的是为了运行,而模块的目的是为了其他程序进行引用

  • Dictionary
    作用:放置资源文件,例如“数据文件.csv”,“图片文件.png”,也可以放置“python文件.py”
    特点:其中并不包含_ _ init.py_ _文件,不作为拓展库,不可import!

  • Python package
    作用:用于写拓展库函数,便于import!
    特点:其中包括一组模块和一个_ _ init.py_ _文件。可使用import语句进行调用拓展库函数


注释:

  1. Image文件下的四个文件:

    Image/
    	_init _.py
    	jpg.py
    	tiff.py
    	bmp.py
    

    只要image目录是我们程序目录的子目录,我们就可以导入image目录下的任意模块来为我们所用,使用时可如下:

    import Image.bmp as im_b
    tool = im_b.read("a.bmp")
    
  2. _ _ init_ _.py文件

    该文件与Python的import机制有关,这关乎到你的哪些.py文件是对外可访问的。有些时候,如果一个包下有很多模块,在调用方import如此多模块是很费事,且不优雅的,此时可以通过修改_ _ init_ .py来完成该任务。
    _ init_ .py中定义特殊变量_ all_ ,将要包含的模块复制给该变量,例如在Image/ _ init_ .py中定义 all _=[‘tiff’,’bmp’,’jpg’],这里的all 对应的就是 from …import * 中*代指的模块,此时在引用方使用如下语句:

    form image import *
    tool = tiff.read("a.tiff")
    

    其实_ _ init_ .py可以为空,当其为空时,from Image import * 将Image包下所有的模块都进行引用,如果想要控制引用的模块,则可以自行定义 all _


总结

文件名作用
Dictionary放置资源文件,例如“数据文件.csv”,“图片文件.png”,也可以放置“python文件.py”
Python package用于写拓展库函数,便于import!

转载于: https://www.cnblogs.com/Thomas-blog/p/8783447.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值