这篇文章主要介绍“module和package的使用方法有哪些”,在日常操作中,相信很多人在module和package的使用方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”module和package的使用方法有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
module
1.模块就是xxx.py这个文件,而模块的名称就是xxx
2.如果我的其他模块需要导入这个模块,首先要import xxx,然后还要让python解释器可以找到这个模块的源代码,这就需要用几个方法告诉python解释器
方法一:sys.path.append() 直接将这个模块的地址加到sys.path中
方法二:在python2中可以放到site-packages这个目录中,python3的话我在看下这个目录在哪
方法三:就是在PYTHONPATH坏境变量中包含这个模块所在的目录,在linux中,环境变量是~.bashrc这个文件中定义的,可以使用语句
export PYTHONPATH=$PYTHONPATH:~/python 这语句就可以将~/python加到环境变量 也就是/home/lee/python这个目录
此外,目测当前模块的当前目录也是在PATHONPATH中的
package
1.包和Java中的一样就是一个放module的文件夹,java中是放class的,必须有__init__.py在这个包中,也就是在这个文件夹中它才是包
2.包也是模块,我要是直接import package1导入的就是__init__.py中的变量,函数和类,用package1.classname就可以访问了
3.一定要注意我导入包这个模块的时候,那几种导入方式,假设 package1中有A.py,B.py,__init__.py这三个模块
import package1 --->只导入了__init__.py
import package1.A --->导入了A,但是只能 package1.A调用这个A模块
form package1 import B --->导入了B,直接是用B模块
form package1 import * --->导入了package1中__all__这个列表中的变量,函数,类
4.查看模块内容 dir(copy) 查看copy模块的源代码的位置 copy.__file__
fileter and map
1.filter和map都可以用列表表达式来用
如 def fileterFun(x) : return not x.startswith('_')
def mapFun(x): return x+1
fileter(filterFun,dir(copy)=======[x for x in dir(copy) if x not startswith('_')]
map(mapFun,range(10))=======map(lambda x: x+1,range(10))======[x+1 for x in range(10)]
2.filter和map都是函数式编程,都是返回类似生成器的对象,要是想使用它需要list()这个方法,此外只有被真正使用的时候才会运行这个函数,类似延迟加载
到此,关于“module和package的使用方法有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。