首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python包基础

Python包基础
EN

Stack Overflow用户
提问于 2017-07-07 10:28:08
回答 2查看 56关注 0票数 0

我有一个名为test1.py的python文件。这个文件包含很少的classes和一些functions

我打算将其打包并分发,以便其他人可以通过pip install命令使用它。从其他帖子中,我了解了我们如何构建一个软件包。

Q:当包在最终用户代码中导入时,使用import <mypackage>命令,

1.可以直接通过编写函数名来调用函数吗?

2.方法是类的一部分,理想情况下由objectname.methodname调用,现在如何调用它们?

EN

回答 2

Stack Overflow用户

发布于 2017-07-07 10:36:26

这取决于您如何导入包。如果您将包导入为

代码语言:javascript
运行
复制
import test1

您必须使用test1.function()调用所有类和函数。类方法(如test1.objectname.methodname() )

如果您使用

代码语言:javascript
运行
复制
from test1 import *

您可以只使用函数名,但是您的命名空间正被所有函数名所污染。

您还可以只导入特定的函数或类

代码语言:javascript
运行
复制
from test1 import function1, function2, class1, class2

用他们各自的名字称呼他们。

最后,您可以使用import test1 as t1使其更短一些,然后可以使用t1.function1()完成调用函数。

票数 1
EN

Stack Overflow用户

发布于 2017-07-07 10:37:49

函数将追加到包名中。例如:

代码语言:javascript
运行
复制
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)

类方法的工作方式类似。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44968517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档