[ 7天学习Python编程,第一天]-----1.4 Python main函数:了解__main__【python舵手】

PYTHON MAIN FUNCTION是任何程序的起点。当程序运行时,python解释器将顺序运行代码。仅当主函数作为Python程序运行时才执行。如果将其作为模块导入,它将不会运行main函数。

要理解这一点,请考虑以下代码

def main():
     print(“ hello world!”)
print(“ 大话西游”)

在这里,我们得到了两张打印纸,一张是在主函数“ Hello World”中定义的,另一张是独立的,即“ 大话西游”的。当您运行函数def main()时:

  • 仅打印“ 大话西游”
  • 而不是代码“ Hello World”。

这是因为我们没有声明调用函数“ if__name __ ==” __main__“。

 

重要的是,在定义了main函数之后,您可以通过if__name __ ==“ __main__”调用代码,然后运行代码,只有这样,您才能获得输出“ hello world!”。在编程控制台中。考虑以下代码

def main():
    print(“ hello world!”)

if __name__ ==“ __main__”:
    main()

print(“ 大话西游”)

原因:

  • 当Python解释器读取源文件时,它将执行其中找到的所有代码。
  • 当Python将“源文件”作为主程序运行时,它将特殊变量(__name__)设置为具有值(“ __main__”)。
  • 当您执行main函数时,它将读取“ if”语句并检查__name__是否等于__main__。
  • 在Python中,“ if__name __ ==” __main__“允许您将Python文件作为可重用模块或独立程序运行。

__name__变量和Python模块

要了解__name__变量的重要性,请考虑以下代码:

def main():
    print(“ hello world!”)

if __name__ ==“ __main__”:
    main()

print(“ 大话西游”)

print(“内置变量名称的值是:”,__ name__)

 

现在考虑,将代码作为模块导入

import MainFunction

print("done")

这里是代码说明:

像C一样,Python使用==进行比较,而使用=进行赋值。Python解释器以两种方式使用main函数

直接运行:

  • __name __ = __ main__
  • 如果语句== True,则将执行_main_中的脚本

导入为模块

  • __name __ =模块的文件名
  • if语句== false,并且不会执行__main__中的脚本

执行代码后,它将使用“ if”检查模块名称。这种机制可确保主要功能仅在直接运行时才执行,而不在作为模块导入时才执行。

上面的示例是Python 3代码,如果要使用Python 2,请考虑以下代码

def main():
  print “ Hello World!” 
  
if __name __ ==“ __main__”:
  main()

print “ 大话西游2”

在Python 3中,您不需要使用if__name。以下代码也有效

def main():
  print(“ Hello World!”)
  
main()
print(“ 大话西游”)

注意:请确保在定义main函数之后,保留一些缩进,并且不要在def main():函数的正下方声明代码,否则会产生缩进错误。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值