【发布时间】:2019-05-03 02:32:18
【问题描述】:
我使用 python 已经有一段时间了,但我缺少一些东西。
在导入模块时,模块是否包含类或仅包含定义有什么区别。例如,我有以下两个模块:
def hello():
print("hello")
或者
class Hello():
def hello():
print("hello")
我从另一个模块导入它
import module_name
module_name.hello()
或者
import module_name
Hello = module_name.Hello()
Hello.hello()
代码有什么不同吗?
如果想要并行执行怎么办?如果我只导入定义会有什么问题吗?
【问题讨论】:
-
我不太明白你来自哪里;为什么会有问题?
-
我在python 中找不到“类与函数”的明显重复项,可能是因为它非常基础。 Here's one that's not tagged Python, though.
-
除了上面链接中使用的类的描述之外,您在代码中忘记了一个微小的差异。方法函数接收一个对象实例作为第一个参数,而函数没有。按照惯例,每个 Python 编码员都将其称为
self。def hello()方法应该是def hello(self): -
模块只是任何 Python 对象的命名空间。导入机制不关心模块中的内容,它是相同的。
-
没有真正的区别。但是,如果“print hello”只是在类或 def 之外编写,那么它将在导入时立即执行。有时你想要那个。
标签: python python-3.x