Python笔记-以主程序运行

在python中,主程序是指在执行python脚本时被执行的顶层代码块。主程序包含了脚本中从最开始到最末尾的顶级可执行语句。当python脚本被运行时,解释器会从脚本的第一行开始逐行执行代码,直到到达脚本的末尾。

主程序通常包含了整个脚本的执行流程,包括函数和其他代码块的调用。当脚本执行时,主程序会按照从上到下的顺序执行相应代码。

示例1:

假设有以下python脚本'main_program.py':

# main_program.py

def greet(name):
    print(f"Hello, {name}!")

def main():
    print("This is the main program.")

    # 调用自定义函数
    greet("Alice")

    # 执行其他代码
    for i in range(3):
        print(f"Count: {i}")

if __name__ == "__main__":
    # 当脚本被直接运行时,__name__ 的值为 "__main__"
    main()

在这个示例中:

1、定义了一个名为'greet'的函数 ,用于打印问候信息。

2、定义了一个名为'main'的函数,包含了主程序的执行流程,包括调用'greet'函数和一个简单的循环。

3、使用'if __name__="__main__"来判断当前脚本是否被直接运行,这个条件语句的目的是,当脚本被直接运行(而不是被导入为模块时),执行'main'函数。

如果在命令中执行这个脚本:

python main_program.py

将会输出:

This is the main program.
Hello, Alice!
Count: 0
Count: 1
Count: 2

这里,main函数包含了主程序的执行流程,并且由于 if __name__="__main__": 的判断,确保只有在直接运行脚本时才执行 main 函数。当脚本作为模块被导入时,主程序不会自动执行。

示例2:

假设有两个python脚本,一个是'module.py'另一个是'main_script.py'。

'module.py':

# module.py

def hello():
    print("Hello from module.py!")

if __name__ == "__main__":
    print("This is the main program in module.py.")
    hello()

'main_script.py':

# main_script.py

import module

def greet():
    print("Greetings from main_script.py!")

if __name__ == "__main__":
    print("This is the main program in main_script.py.")
    greet()
    module.hello()

在这个示例中:

  • module.py定义了一个hello函数,并且通过 if __name__="__main__": 判断结构,确保只有在 module.py被直接运行时才执行一部分代码。
  • 'main_script.py' 导入了 module 模块,并且也使用了 if __name__="__main__": 结构,以便在脚本被直接运行时执行一部分代码。

运行:

若执行module.py:

python module.py

输出将是:

This is the main program in module.py.
Hello from module.py!

如果执行main_script.py:

python main_script.py

输出将是:

This is the main program in main_script.py.
Greetings from main_script.py!
Hello from module.py!

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值