为什么顶部的 print() 语句会在后面的代码行之后打印到控制台
Why would the top print() statement print to the console after a later line of code
code output
one.func() returns输出"top level one.py" and "one.py已经imported 出现在输出行“top level two.py”之前。
import one
print("top level two.py")
one.func()
if __name__ == '__main__':
print("two.py being run directly")
else:
print("two is being imported")'''
one.py模块是:
def func():
print("func in one.py")
print("top level one.py")
if __name__ == '__main__':
print("one.py is being run directly")
else:
print("one.py has been imported")
这是因为您在打印“顶层two.py”之前导入了一个。如果 one.py 看起来像这样:
print("top level one.py")
def func():
#do something
if __name__ == '__main__':
print("one.py being run directly")
else:
print("one.py has been imported")
并且使用上面的 two.py 代码,那么 one.py 在导入时首先是 运行。
因为第一个 运行ning 在前,所以它的打印语句将在两个打印之前发生,所以它们会先出现。
code output
one.func() returns输出"top level one.py" and "one.py已经imported 出现在输出行“top level two.py”之前。
import one
print("top level two.py")
one.func()
if __name__ == '__main__':
print("two.py being run directly")
else:
print("two is being imported")'''
one.py模块是:
def func():
print("func in one.py")
print("top level one.py")
if __name__ == '__main__':
print("one.py is being run directly")
else:
print("one.py has been imported")
这是因为您在打印“顶层two.py”之前导入了一个。如果 one.py 看起来像这样:
print("top level one.py")
def func():
#do something
if __name__ == '__main__':
print("one.py being run directly")
else:
print("one.py has been imported")
并且使用上面的 two.py 代码,那么 one.py 在导入时首先是 运行。
因为第一个 运行ning 在前,所以它的打印语句将在两个打印之前发生,所以它们会先出现。