Python 中的进口:一些问题
Imports in Python: Some Questions
我是初学者,很抱歉这个问题。
在 Python 中导入时,如果我这样做
from star import triangle
,我是导入整个星形模块,还是只导入星形模块内部的三角函数?
例如,当我 运行 我的脚本时,python 查看该行时会做什么?
此外,当有人 from . import square
时发生了什么?
我想我也看到有人使用 from ... import square
。那又是什么?
问题顺序:
您只从星形模块导入三角形对象(函数,class...)
Python 运行定义,检查没有“印刷”错误(并不意味着以后不会有运行时错误,因为脚本语言是如此多才多艺,一个人不能尽早预测特定上下文的有效性,例如编译语言)
如果这样做没有问题,那么你就有了一个包含你的定义的对象“三角形”。与执行 triangle = 2 的方式完全相同,您有一个包含值为 2 的 int 实例的对象。在 python 中,一切都是对象,具有方法和属性。
你总是可以检查一个对象的方法
dir(triangle)
例如。
以 triangle 为 int 执行 dir(triangle),我们看到有一个 .real 方法和其他方法。
执行 dir(triangle) 你会看到你的 class 函数实现的方法。 (包含在 __underscores__ 中的方法是默认方法,创建时不需要您声明它们。如果您愿意,可以重载它们。
来自 。 import x 表示它在“import”关键字之后导入模块,在父目录中搜索(您的文件当前正在执行的目录上方的一个目录,如果您在“main”中或正在导入的模块中,则有所不同)
我是初学者,很抱歉这个问题。
在 Python 中导入时,如果我这样做
from star import triangle
,我是导入整个星形模块,还是只导入星形模块内部的三角函数?
例如,当我 运行 我的脚本时,python 查看该行时会做什么?
此外,当有人 from . import square
时发生了什么?
我想我也看到有人使用 from ... import square
。那又是什么?
问题顺序:
您只从星形模块导入三角形对象(函数,class...)
Python 运行定义,检查没有“印刷”错误(并不意味着以后不会有运行时错误,因为脚本语言是如此多才多艺,一个人不能尽早预测特定上下文的有效性,例如编译语言) 如果这样做没有问题,那么你就有了一个包含你的定义的对象“三角形”。与执行 triangle = 2 的方式完全相同,您有一个包含值为 2 的 int 实例的对象。在 python 中,一切都是对象,具有方法和属性。 你总是可以检查一个对象的方法
dir(triangle)
例如。 以 triangle 为 int 执行 dir(triangle),我们看到有一个 .real 方法和其他方法。 执行 dir(triangle) 你会看到你的 class 函数实现的方法。 (包含在 __underscores__ 中的方法是默认方法,创建时不需要您声明它们。如果您愿意,可以重载它们。
来自 。 import x 表示它在“import”关键字之后导入模块,在父目录中搜索(您的文件当前正在执行的目录上方的一个目录,如果您在“main”中或正在导入的模块中,则有所不同)