只有直接运行该文件时才执行
你已经有两个问题,它们合起来写出一行。你希望只有自己直接运行这个文件时,这两个问题才会执行。文件叫 box.py。你启动 box.py,输入 mug,再输入 4。屏幕的最后一行是 mug 4。
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。
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。下一页会先交给你一个值,再交给你下一个。
🧠 测试您的知识
测试您的知识
通过这个互动测验挑战自己,看看你对这个主题的理解程度如何
📝 说明
- 仔细阅读每个问题
- 为每个问题选择最佳答案
- 您可以随时重新参加测验
- 您的进度将显示在顶部