正在加载...

只有直接运行该文件时才执行

你已经有两个问题,它们合起来写出一行。你希望只有自己直接运行这个文件时,这两个问题才会执行。文件叫 box.py。你启动 box.py,输入 mug,再输入 4。屏幕的最后一行是 mug 4。

两个问题,只在直接运行 box.py 时执行

python
def label(item, count):
    return f"{item} {count}"

if __name__ == "__main__":
    item = input("item: ")
    count = input("how many: ")
    print(label(item, count))

启动 box.py 后,屏幕上出现三行。第一行,程序在 item: 处等待,你输入 mug 并按 Enter。第二行,程序在 how many: 处等待,你输入 4 并按 Enter。第三行,print 写出 mug 4,这是最后一行。这些行会执行,是因为你启动的正是这个文件。名字 __name__ 里存的是 __main__。if 这一行发现两者相同,所以两个问题会执行。程序运行结束。没有第四行,也不会写出 None。

另一个文件 shelf.py,用 import 打开 box.py

python
import box
print("shelf")

现在你启动 shelf.py,不输入 mug 或 4。屏幕上只有一行:shelf。shelf.py 用 import 打开了 box.py。所以在 box.py 里面,__name__ 里存的是 box。box 不是 __main__,所以两个问题不会执行。item: 不会出现在屏幕上,mug 4 也不会写出。被跳过的问题不会写出 None。print 写出 shelf,因为这一行在你启动的那个文件里。程序运行结束。

现在你可以让这两个问题只在你自己启动 box.py 时才执行。启动 box.py,输入 mug 再输入 4,最后一行是 mug 4。启动 shelf.py,屏幕上只有 shelf。下一页会先交给你一个值,再交给你下一个。

只有你启动该文件,问题才会执行

你启动 box.py,输入 mug 再输入 4:最后一行是 mug 4。你启动 shelf.py:屏幕上只有 shelf。下一页会先交给你一个值,再交给你下一个。

🧠 测试您的知识

准备开始

测试您的知识

通过这个互动测验挑战自己,看看你对这个主题的理解程度如何

❓
6
问题
🎯
70%
及格要求
♾️
∞
时间
🔄
∞
尝试次数

📝 说明

  • 仔细阅读每个问题
  • 为每个问题选择最佳答案
  • 您可以随时重新参加测验
  • 您的进度将显示在顶部