Python中if name == 'main':的作用

一个python文件通常有两种使用方法,

第一是作为脚本直接执行。

第二是 import 到其它的 python 脚 本中被调用(模块重用)执行。

因此 if name == ‘main‘: 的作用就是控制这两种情况执行代码的过程。

简单地说
if __name__ == ‘__main__‘的意思是:
当 .py 文件被直接运行时,if __name__ == ‘__main__‘ 之下的代码块将被运行; 当 .py 文件以模块形式被导入时,if __name__ == ‘__main__‘之下的代码块不被运行。

#文件名为test_file.py
print("哈哈")
if __name__ == ‘__main__‘:
    print("嘎嘎")
输出结果:
哈哈
嘎嘎

把test_file.py作为模块导到其它目录
#文件名为my_file.py
import test
输出结果:哈哈

Python中if name == 'main':的作用

原文地址:https://www.cnblogs.com/summer-time/p/12169059.html

时间: 2024-08-28 18:55:50

Python中if name == 'main':的作用的相关文章

Python中 if __name__ == '__main__' 的作用

Python文件可以直接运行,也可以 import 到其它文件中使用 if __name__ == '__main__' 就是控制代码在这两种情况下的执行过程 每个Python模块都包含内置变量,直接运行的时候,name 等于 main ,代表自身 __name__,当模块被调用执行的时候,name等于文件名 Python中 if __name__ == '__main__' 的作用 原文地址:https://www.cnblogs.com/jiyu-hlzy/p/11785520.html

Python中逗号的三种作用

最近研究python  遇到个逗号的问题 一直没弄明白 今天总算搞清楚了 1.逗号在参数传递中的使用: 这种情况不多说  没有什么不解的地方 就是形参或者实参传递的时候参数之间的逗号 例如def  abc(a,b)或者abc(1,2) 2.逗号在类型转化中的使用 主要是元组的转换 例如: >>> a=11>>> b=(a)>>> b11>>> b=(a,)>>> b(11,)>>> b=(a,22)

python中sys.setdefaultencoding('utf-8')的作用

在python中,编码解码其实是不同编码系统间的转换,默认情况下,转换目标是Unicode,即编码unicode→str,解码str→unicode,其中str指的是字节流,而str.decode是将字节流str按给定的解码方式解码,并转换成utf-8形式,u.encode是将unicode类按给定的编码方式转换成字节流str.注意调用encode方法的是unicode对象,生成的是字节流:调用decode方法的是str对象(字节流),生成的是unicode对象.若str对象调用encode会默

python中if __name__==’__main__’的作用

意思是如果该.py文件是自己执行则__name__被赋值为__main__,否则赋值为文件名. 作用: 有句话经典的概括了这段代码的意义: "Make a script both importable and executable" 意思就是说让你写的脚本模块既可以导入到别的模块中用,另外该模块自己也可执行. 举例: 先写一个模块: #module.py def main(): print "we are in %s"%__name__ if __name__ ==

Python中 sys.setdefaultencoding("utf8") 的作用详解

在处理中文数据,经常加入下面的代码: import sys reload(sys) sys.setdefaultencoding("utf8") 设置python默认字节流编/解码器按照utf8解码方式,把字节流编/解码为unicode: 具体来说,所起到的作用,可以用下面两个错误来解释: 在将字节流使用str()方法转换为str对象时,会调用默认的encode函数,如果没有上述系统的默认编码设置,则自动使用'ascii' codecs进行编码,对于非ascii编码的数据,比如utf8

python中的exec()函数的作用

exec语句用来执行储存在字符串或文件中的Python语句.例如,我们可以在运行时生成一个包含Python代码的字符串,然后使用exec语句执行这些语句.下面是一个简单的例子. >>> exec 'print "Hello World"' Hello World 注意例子中exec语句的用法和eval_r(), execfile()是不一样的. exec是一个语句(就象print或while), 而eval_r()和execfile()则是内建函数. 理解网上的一个例

Python中的逗号有什么作用?

最近研究python  遇到个逗号的问题 一直没弄明白 今天总算搞清楚了 1.逗号在参数传递中的使用: 这种情况不多说  没有什么不解的地方 就是形参或者实参传递的时候参数之间的逗号 例如def  abc(a,b)或者abc(1,2) 2.逗号在类型转化中的使用 主要是元组的转换 例如: >>> a=11>>> b=(a)>>> b11>>> b=(a,)>>> b(11,)>>> b=(a,22)

python中的修饰符@的作用

1.一层修饰符 1)简单版,编译即实现 在一个函数上面添加修饰符 @另一个函数名 的作用是将这个修饰符下面的函数作为该修饰符函数的参数传入,作用可以有比如你想要在函数前面添加记录时间的代码,这样每个函数调用时就能够知道是什么时候调用的,但是你不想手动地去给每个函数添加,那么就能够使用该修饰符实现这样的功能,下面举例说明: #coding=UTF-8 import time def showTime(fn): print('calling time : ', time.time()) fn() #

Python中@staticmethod和@classmethod的作用和区别

相同之处:@staticmethod 和@classmethod 都可以直接类名.方法名()来调用,不用在示例化一个类. @classmethod 我们要写一个只在类中运行而不在实例中运行的方法.如果我们想让方法不在实例中运行,可以这么做: def iget_no_of_instance(ins_obj): return ins_obj.__class__.no_inst class Kls(object): no_inst = 0 def __init__(self): Kls.no_inst