Discuss / Python / python中__name__的使用

python中__name__的使用

Topic source

青铜神裔

#1 Created at ... [Delete] [Delete and Lock User]

转僵尸认识你 转载自https://www.cnblogs.com/1204guo/p/7966461.html

这几天开始学习Python,遇到一些问题,也解决了一些问题。

其中if name == 'main':这句估计很多和我一样的初学者都是不求甚解。 这里作一下解释:

1:name是一个变量。前后加了爽下划线是因为是因为这是系统定义的名字。普通变量不要使用此方式命名变量。 2:Python有很多模块,而这些模块是可以独立运行的!这点不像C++和C的头文件。 3:import的时候是要执行所import的模块的。 4:name就是标识模块的名字的一个系统变量。这里分两种情况:假如当前模块是主模块(也就是调用其他模块的模块),那么此模块名字就是main,通过if判断这样就可以执行“mian:”后面的主函数内容;假如此模块是被import的,则此模块名字为文件名字(不加后面的.py),通过if判断这样就会跳过“mian:”后面的内容。

通过上面方式,python就可以分清楚哪些是主函数,进入主函数执行;并且可以调用其他模块的各个函数等等。

为什么我运行hello.test()结果是Too many arguments!

fbitct

#3 Created at ... [Delete] [Delete and Lock User]

谢谢大佬,讲解的通俗易懂。语言组织能力很强。再次感谢大佬。

Nb-Boom

#4 Created at ... [Delete] [Delete and Lock User]

赞!

感谢讲解,通俗易懂!

1街头巷尾

#6 Created at ... [Delete] [Delete and Lock User]

爆赞!

感谢大佬总结,原来import x是需要执行x模块中非main函数的部分。

陳大發的小红豆

楼上的一句话总结,又更进一步的总结了import x 和 main 函数的关系,真棒。

里昂tcxy

#9 Created at ... [Delete] [Delete and Lock User]

通俗易懂,赞!

里昂tcxy

#10 Created at ... [Delete] [Delete and Lock User]

因为__name__变量前面有__,表示私有函数,所以不能被其他人使用。import x 是执行公开函数,也就是没__前缀的函数,而不仅仅是不执行main函数


  • 1
  • 2

Reply