我有一个名为test1.py
的python文件。这个文件包含很少的classes
和一些functions
。
我打算将其打包并分发,以便其他人可以通过pip install
命令使用它。从其他帖子中,我了解了我们如何构建一个软件包。
Q:当包在最终用户代码中导入时,使用import <mypackage>
命令,
1.可以直接通过编写函数名来调用函数吗?
2.方法是类的一部分,理想情况下由objectname.methodname
调用,现在如何调用它们?
发布于 2017-07-07 10:36:26
这取决于您如何导入包。如果您将包导入为
import test1
您必须使用test1.function()
调用所有类和函数。类方法(如test1.objectname.methodname()
)
如果您使用
from test1 import *
您可以只使用函数名,但是您的命名空间正被所有函数名所污染。
您还可以只导入特定的函数或类
from test1 import function1, function2, class1, class2
用他们各自的名字称呼他们。
最后,您可以使用import test1 as t1
使其更短一些,然后可以使用t1.function1()
完成调用函数。
发布于 2017-07-07 10:37:49
函数将追加到包名中。例如:
import numpy
# Calling the square root function from numpy
val = 4
newVal = numpy.sqrt(val)
# You can also do this, but it is not recommended as it pollutes your name space
from numpy import sqrt
# Now I can call sqrt directly
val = 4
newVal = sqrt(val)
类方法的工作方式类似。
https://stackoverflow.com/questions/44968517
复制相似问题