网站首页 > 基础教程 正文
在标准的 Python 执行环境中,if __name__ == "__main__" 语句块就是专门用于判断脚本是否作为主程序直接运行的。
示例一:简单的函数定义与测试
def add_numbers(a, b):
"""
两个数相加的函数
"""
return a + b
if __name__ == "__main__":
num1 = 5
num2 = 3
result = add_numbers(num1, num2)
print(f"{num1} + {num2} 的结果是: {result}")
在这个示例中,add_numbers 函数定义了两个数相加的功能。if __name__ == "__main__" 块中的代码用于测试这个函数,当直接运行该脚本时,会执行测试代码并输出结果。如果该脚本被其他脚本导入,add_numbers 函数可以被使用,但测试代码不会执行。
示例二:类的定义与实例化测试
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def introduce(self):
print(f"我叫 {self.name},今年 {self.age} 岁。")
if __name__ == "__main__":
person = Person("Alice", 25)
person.introduce()
这里定义了 Person 类,包含构造函数 __init__ 和方法 introduce。if __name__ == "__main__" 块用于创建 Person 类的实例并调用 introduce 方法进行测试。当该脚本被导入到其他脚本中时,Person 类可以被实例化和使用,但测试代码不会运行。
示例三:模块之间的导入与使用
假设有两个脚本文件,module1.py 和 module2.py。
module1.py 的内容如下:
def multiply_numbers(a, b):
return a * b
if __name__ == "__main__":
num1 = 4
num2 = 6
result = multiply_numbers(num1, num2)
print(f"{num1} * {num2} 的结果是: {result}")
module2.py 的内容如下:
import module1
# 调用 module1 中的函数
product = module1.multiply_numbers(3, 5)
print(f"在 module2 中调用的结果是: {product}")
在这个例子中,module1 定义了一个函数 multiply_numbers 并在 if __name__ == "__main__" 块中进行了测试。module2 导入了 module1 并调用了其中的函数。当运行 module1.py 时,测试代码会执行;当运行 module2.py 时,module1 中的测试代码不会执行,只会执行 module2 中调用函数的相关代码。
在正常的 Python 代码执行逻辑中,只有当脚本被直接运行时,if __name__ == "__main__" 语句块内的代码才会被执行,没有其他常规情况下会执行该语句块 。
__name__ 是 Python 中每个模块都有的内置属性。当一个 Python 脚本作为主程序直接运行时,Python 会将该脚本的 __name__ 属性设置为 "__main__"。而当一个脚本被导入作为模块使用时,__name__ 的值会被设置为该模块的名称(即文件名去掉 .py 后缀),因此 if __name__ == "__main__" 条件不成立,其内部代码块不会被执行。
猜你喜欢
- 2025-05-11 Python——PySide2入门(2) 之 QPushButton
- 2025-05-11 在ubuntu环境下部署svn可视化管理工具iF.SVNAdmin详细教程
- 2025-05-11 这篇if __name__ == '__main__'讲解的实在太通透了,它还能影响这些
- 2025-05-11 了解 Python 中 if __name__ == "__main__" 的作用
- 2025-05-11 python if多条件并列判断的三种方法
- 2025-05-11 「Python条件结构」嵌套if:判断三角形及三角形的类型
- 2025-05-11 SQL用了两年多,分享2个最常用的小技巧
- 2025-05-11 揭秘Python中的魔法语句:if __name__ == '__main__':
- 2025-05-11 测开不得不会的python条件判断语句if
- 2025-05-11 彻底搞懂Python中的if __name__ == '__main__':让你的代码更专业!
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- deletesql (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)