首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

是否有一个Perl等同于Python的`if __name__ =='__ main __'`?

在Perl中,等同于Python的if __name__ == '__main__'的写法是:

代码语言:perl
复制
if ($0 eq __FILE__) {
    # 这里放置主程序代码
}

这个条件判断表示,只有在当前脚本作为主程序运行时,才会执行大括号中的代码。在Perl中,$0表示当前正在执行的程序的文件名,__FILE__表示当前文件的文件名。

在Perl中,这种写法通常用于在一个脚本中编写多个函数或模块时,避免在作为模块导入时执行主程序代码。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python if __name__ == ‘main作用介绍

简单来说就是这是一个 IF 语句,这个 IF 判断后面的话,如果你 Python 程序是直接运行的话,将会被执行,如果是作为导入模块的话,将不会被执行。...在理解上面的话之前,你可能需要参考下帖子:Python 特殊变量 __name__内容。在上面的链接中解释了特殊变量 __name__ 作用。...这样理解就好了,__name__ 这个变量就是一个标识 Python 程序全局变量。...我们都知道 Python 是没有 main() 函数,所以如果在一个 Python 程序运行时候,我们可能希望对使用变量进行一些定义,如果使用模块运行时候,可能不需要这个步骤。...因为这个步骤可能会干扰作为模块运行时候提供函数。 if __name__ == "__main__" 最最简单解释就是起到了一个开关作用。通常用于在作为程序运行时候进行一些初始化操作。

93210

python】__name__ = __main__ 作用

原文地址:http://www.jb51.net/article/51892.htm 侵删 很多新手刚开始学习python时候经常会看到python 中__name__ = \'__main__\'...这样代码,可能很多新手一开始学习时候都比较疑惑,python 中__name__ = '__main__' 作用,到底干嘛?...下面举例说明: 先写一个模块: #module.py def main(): print "we are in %s"%__name__ if __name__ == '__main__': main...总结一下: 如果我们是直接执行某个.py文件时候,该文件中那么”__name__ == '__main__'“是True,但是我们如果从另外一个.py文件通过import导入该文件时候,这时__name...这个功能还有一个用处:调试代码时候,在”if __name__ == '__main__'“中加入一些我们调试代码,我们可以让外部模块调用时候不执行我们调试代码,但是如果我们想排查问题时候,直接执行该模块文件

39010
  • Python if __name__ == “__main__“

    对于Python初学者来说,在看别人代码时经常会看到if __name__ == "__main__",这时心里就开始吐槽:“绝对又是装X,我特么不写这句话,代码不照样跑得好好!...我刚开始碰到这行代码时,心里也是这样想! 吐槽归吐槽,存在必然存在道理。现在就来看看这句代码到底是个啥意思,因为这句话能够帮你对Python模块理解上一个层次。...说人话就是,如果你直接运行该模块,那么__name__ == "__main__";如果你 import 一个模块,那么模块name 值通常为模块文件名。...,然后判断__name__ 是否等于 __main__,如果等于,打印,反之则反,现在运行该模块,结果为: hello, world! 说明__name__ 等于 __main__。...,说明__name__ 不等于 __main__。

    26830

    Python 关于 name main使用 if __name__ == __main__:

    看过很多pythoncode都有这段代码: 1 2 if __name__ == '__main__':     statements 这段代码主要作用主要是让该python文件既可以独立运行...当导入到其他脚本文件时候,此时__name__名字其实是导入模块名字,不是'__main__', main代码里面的就不执行了。...比如有这样一个文件test.py, 里面代码如下: 1 2 3 4 5 6 7 # test.py   def test():     print("Test function....if __name__ == '__main__':     test()  当按F5时候可以独立运行程序,结果: 1 2 3 >>> ============================...在这个例子里面mygame.py里面调用square函数时候,就不会执行mymath.py里面的main函数了。 伪python爱好者,正宗测试实践者。

    1.6K10

    Python中if __name__ == __main__: 作用

    Python中if __name__ == "__main__": 作用 在很多python脚本中在最后部分会执行一个判断语句if __name__ == "__main__:",之后还可能会有一些执行语句...那添加这个判断目的何在? 在python编译器读取源文件时候会执行它找到所有代码,而在执行之前会根据当前运行模块是否为主程序而定义变量__name__值为__main__还是模块名。...因此,该判断语句为真的时候,说明当前运行脚本为主程序,而非主程序所引用一个模块。...这在当你想要运行一些只有在将模块当做程序运行时而非当做模块引用时才执行命令,只要将它们放到if __name__ == "__main__:"判断语句之后就可以了。...into another module") 当运行python one.py,输出: top-level in one.py one.py is being run directly 当运行python

    53520

    Python中if __name__ == __main__: 作用

    Python中if __name__ == "__main__": 作用 在很多python脚本中在最后部分会执行一个判断语句if __name__ == "__main__:",之后还可能会有一些执行语句...那添加这个判断目的何在? 在python编译器读取源文件时候会执行它找到所有代码,而在执行之前会根据当前运行模块是否为主程序而定义变量__name__值为__main__还是模块名。...因此,该判断语句为真的时候,说明当前运行脚本为主程序,而非主程序所引用一个模块。...这在当你想要运行一些只有在将模块当做程序运行时而非当做模块引用时才执行命令,只要将它们放到if __name__ == "__main__:"判断语句之后就可以了。...into another module") 当运行python one.py,输出: top-level in one.py one.py is being run directly 当运行python

    71450

    Python__main__和__name__

    Python 程序文件执行从第一条语句开始。 Python 包含名为__name__特殊变量,该变量包含作为字符串执行代码范围。__main__是顶层代码执行顶层作用域名称。...Python Shell >>>__name__'__main__' Copy 所有的功能和模块都将在解释器 Shell 顶层范围__main___内执行。...Python Shell >>> def f1():     print(__name__)>>> f1() Copy 甚至内部功能都是在顶层范围__main__内执行: Python Shell >...__ Copy 一个 Python 文件可以包含多个可以独立执行函数和语句。...因此,name值允许 Python 解释器确定模块是否是可执行脚本。如果其值为main,将执行函数定义之外语句。如果没有,模块内容将被填充到顶层模块(或解释器名称空间)中,而不包含可执行部分。

    16620

    python技巧】if __name__ == ‘__main__’详细讲解

    先给出结论,对该语句用法简单解释就是:如果if __name__ == '__main__' 所在模块是被直接运行,则该语句下代码块被运行,如果所在模块是被导入到其他python脚本中运行,则该语句下代码块不被运行...其中C 和 C++ 都需要有一个 main 函数来作为程序入口,也就是程序运行会从 main 函数开始。同样,Java 和 C# 则必须要有一个包含 Main 方法主类来作为程序入口。...另外我们知道,python文件两种使用方法: 第一种:直接作为脚本执行 第二种:import到其他python脚本中被调用(模块重用)执行,也就是作为模块(库)被导入执行 不管是直接运行还是导入,最顶层代码都会被运行...if __name__ == '__main__'就相当于是 Python 模拟程序入口。Python 本身并没有规定这么写,这只是一种编码习惯。...由于模块之间相互引用,不同模块可能都有这样定义,而入口程序只能有一个。到底哪个入口程序被选中,这取决于__name__值。而__name__是内置变量,用于表示当前模块名字。

    2.3K30

    Python if __name__ == __main__ 该如何理解

    不管是导入还是直接运行,最顶层代码都会被运行(Python 用缩进来区分代码层次)。而实际上在导入时候,一部分代码我们是不希望被运行。   ...举一个例子来说明一下,假设我们一个 const.py 文件,内容如下: PI = 3.14 def main(): print "PI:", PI main()   我们在这个文件里边定义了一些常量...然后我们直接执行该文件(python const.py),输出: PI: 3.14   现在,我们一个 area.py 文件,用于计算圆面积,该文件里边需要用到 const.py 文件中 PI 变量...__name__   __name__ 是内置变量,用于表示当前模块名字,同时还能反映一个结构。...__main__.py 文件与 python -m   Python  -m 参数用于将一个模块或者包作为一个脚本运行,而 __main__.py 文件则相当于是一个”入口程序“。

    86630

    秒懂python编程中if __name__ == __main__

    原文链接:https://zhuanlan.zhihu.com/p/34112508 作者: 菜鸟分析 相信初学者在学习Python过程中,不可避免总会遇到if __name__ == '__main...举个例子,我们在下面在test.py中写入如下代码: print('恋习Python') def main(): print('恋习Python') if __name__ == '...与之前test.py代码运行结果比较,只有输出恋习Python,也就是if __name__=="__main__": 之前语句被执行,之后没有被执行。 这是为什么呢?...此时,test.py中__name__变量值为test,不满足__name__=="__main__"条件,因此,无法执行其后代码。 哈哈,是不是一下明白啦,觉得不错,给菜鸟分析点个赞哦!...再仔细想想,其运行原理也就是: 由于每个python模块(python文件)都包含内置变量__name__,当运行模块被执行时候,__name__等于文件名(包含了后缀.py)。

    44311

    Python if __name__ == __main__ 该如何理解

    不管是导入还是直接运行,最顶层代码都会被运行(Python 用缩进来区分代码层次)。而实际上在导入时候,一部分代码我们是不希望被运行。   ...举一个例子来说明一下,假设我们一个 const.py 文件,内容如下: PI = 3.14 def main(): print "PI:", PI main()   我们在这个文件里边定义了一些常量...然后我们直接执行该文件(python const.py),输出: PI: 3.14   现在,我们一个 area.py 文件,用于计算圆面积,该文件里边需要用到 const.py 文件中 PI 变量...__name__   __name__ 是内置变量,用于表示当前模块名字,同时还能反映一个结构。...__main__.py 文件与 python -m   Python  -m 参数用于将一个模块或者包作为一个脚本运行,而 __main__.py 文件则相当于是一个”入口程序“。

    1.1K40

    Python中熟悉而又陌生 if __name__ == __main__

    python 文件中,我们经常会看到 if __name__ == "__main__" 。那么 if __name__ == "__main__" 是什么?它可以用来干什么呢?...python 解释器在读取 python 文件时,会设置一些特殊变量值,其中有一个变量是 __name__ ,下面我们通过一些例子来认识下 __name__。...当一个文件作为主程序运行时,__name__ 会被设置成 __main__。 python 文件作为模块导入 新建 bar.py 文件。...: bar foo's __name__ is set to: __main__ 从结果可以看出,当 bar.py 作为一个模块被导入时,它 __name__ 被设置成了文件名字 bar。...directly 总结 __name__ 存在可以使我们更加灵活地控制 python 作为主程序执行时应该执行代码块以及作为模块被导入执行时应该执行代码块。

    75130

    Python中if __name__ == ‘__main__‘:作用和原理

    if __name__ == ‘__main__’:作用 一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他 python 脚本中被调用(模块重用)执行。...因此 if __name__ == ‘main’: 作用就是控制这两种情况执行代码过程,在 if __name__ == ‘main’: 下代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行...即,if __name__==”__main__”: 语句之前和之后代码都被执行。...即,if __name__==”__main__”: 之前语句被执行,之后没有被执行。...if __name__ == ‘__main__’:运行原理 每个python模块(python文件,也就是此处 test.py 和 import_test.py)都包含内置变量 __name__

    32020

    阐明 Python 编程中 if __name__ == “__main__“: 作用和机理

    让我们一起来详细探讨一下这个问题:if __name__ == "__main__": 作用是什么? 背景:在 Python 中,每个 .py 文件其实都可以被视为一个模块(module)。...当一个 Python 文件被直接执行时,Python 解释器会将该文件 __name__ 设置为特殊值 "__main__"。...一个 Python 文件,它如果被直接运行,其 __name__ 值是 __main__。...__name__ == "__main__" 是什么意思? 当一个 Python 模块在最高层级代码环境中执行时,它 __name__ 会被设为字符串 "__main__"。...你可以在这里编写测试用例,验证模块功能是否正常。 总之,if __name__ == "__main__": 是一个重要 Python 构造,它让我们代码更加灵活、可重用。

    1K00

    秒懂Python编程中if __name__ == main 作用和原理

    一天偶然发现知乎上有篇关于对python编程中if __name__ == 'main'理解陈述,看完之后,自己觉得不够简单明了,于是在其文章底部写了一句话,突然收获各位乎友满满赞同: 一句话,...相信初学者在学习Python过程中,不可避免总会遇到if __name__ == 'main'语句,虽然一直知道它作用,但是可能一直比较模糊,今天菜鸟分析就与大家一起举例说说我理解。...举个例子,我们在下面在test.py中写入如下代码: print('恋习Python') def main(): print('恋习Python') if __name__ == '__main...与之前test.py代码运行结果比较,只有输出恋习Python,也就是if __name__=="__main__": 之前语句被执行,之后没有被执行。 这是为什么呢?...再仔细想想,其运行原理也就是: 由于每个Python模块(Python文件)都包含内置变量__name__,当运行模块被执行时候,__name__等于文件名(包含了后缀.py)。

    4.7K21

    pythonmain含义及用法_python main函数什么用

    **main函数作用?** __ name__ == ‘__ main__’是Pythonmain函数入口。...在Python中有一个概念叫做模块(module),比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一下Python模块。...__ == ‘__main__’:解释: 1:__name__一个变量。...前后加了爽下划线是因为是因为这是系统定义名字。普通变量不要使用此方式命名变量。2:Python很多模块,而这些模块是可以独立运行!这点不像C++和C头文件。...一种是带有入口点(entrypoint)程序,这样操作系统就可以加载程序并从入口点执行;另一个… 2019-12-20 20:14 − 当我们阅读 别人python代码都会有 if __name_

    80720

    昨天2年python开发同事,还在问我 if __name__ == __main__ 是什么意思?

    相信刚接触Python你一定有过如此经历,把所有的代码都写在 if __name__ == '__main__'下,因为有人告诉你,这样比较符合 Pythonista 代码风格。...殊不知这段代码意义并不是一定要存在于执行代码中,而是在日常工作中,为了调试某个模块正确性,我们往往会在当前模块下直接写一个 if __name__ == '__main__',测试逻辑写在下面,这样...原因很简单,因为 if __name__ == '__main__' 中 __name__ 代表就是当前执行模块名。...python一切皆对象,所以python模块也是对象,他一个 built-in module,叫 __name__,存储着模块是如何被执行,如果是执行当前模块,那么就显示 __main__ ,如果是被引用进来...runpy 详细用法详见这里不多做介绍,兴趣可以自行翻阅manual。 这两种方法就是比较常用一个模块中执行另一个模块 if __name__ == '__main__' 方法。

    1.2K70

    python基础——模块【模块介绍,模块导入,自定义模块,*和__all__,__name__和__main__】

    __main__变量: 在Python中,__main__ 是一个特殊模块,它主要用于执行模块中main()函数。...当你直接运行一个Python文件时,这个文件中代码会进入__main__模块。换句话说,__main__模块是Python解释器直接运行入口。...在Python中,一个模块__name__属性会自动设置为’__main__',如果你直接运行一个模块,你可以通过这个属性来判断当前模块是否是__main__模块。...例如,下面的代码: if __name__ == '__main__': print("这是一个直接运行模块") 当我们运行这条代码所写在文件时候:__name__就会直接被设置成__main...__ 当我们运行别的文件时候,__name__是不会被设置成__main__ 利用这个特性,我们就可以在这个条件判断语句内写入测试语句,从而达到: 在运行模块时候,能够进入测试语句, 但是在别的文件中导入模块

    14110
    领券