首页 > 试题广场 >

已知print_func.py的代码如下: print('

[单选题]

已知print_func.py的代码如下:

print('Hello
World!')
print('__name__
value: ', __name__)
 
def main():
   
print('This message is from main function')
 
if __name__ ==
'__main__':
   
main()


print_module.py的代码如下:

import print_func
print("Done!")


运行print_module.py程序,结果是:

  • Hello World!  __name__ value: print_func  Done!
  • Hello World!  __name__ value: print_module  Done!
  • Hello World!  __name__ value: __main__  Done!
  • Hello World!  __name__ value:  Done!
应该选择A。
运行print_module.py后的结果如下:
自己运行自己的程序,__name__ 即为__main__
当程序当做脚本被别人调用运行时,其__name__ 为自己的模块名称,这里的print_func即被导入到print_module中当做脚本被运行时,则print_func的__name__即变为其自身的模块名。
编辑于 2021-03-25 18:34:23 回复(0)
一个模块中有__name__
1. 直接运行 __name__为 __main__
2. 调用该模块,__name__为被调用模块的 模块名

发表于 2019-07-17 09:59:07 回复(1)
自己运行自己的程序,__name__ 即为__main__
当程序当做脚本被别人调用运行时,其__name__ 为自己的模块名称
发表于 2020-04-02 17:34:28 回复(1)
正确答案应该是A吧,调用者调用的模块中含有__name__应该是被调用模块的模块名
发表于 2019-09-02 21:55:31 回复(0)
print_module.py中调用print_func.py时,后者__name__的值变为“print_func”,不是__main__,所以其中的if条件不满足,不会执行其下的代码段
发表于 2020-03-09 10:30:37 回复(0)
一个模块中有__name__
1.直接运行 __name__为 __main__
2.调用该模块,__name__为被调用模块的 模块名
发表于 2021-09-13 22:11:47 回复(0)
答案不是A?__name__ 在模块内有效啊
发表于 2019-06-18 12:06:31 回复(1)
import是语句,执行时会从头到尾执行模块中的每一条语句,__name__在print_func的命名空间中,所以打印print_func
发表于 2022-01-28 20:45:24 回复(0)
答案应该是A吧
发表于 2019-07-16 20:33:14 回复(0)
如果是直接执行print_func文件,则__name__的值为__main__
如果是以导入模块的形式执行print_func文件,则__name__的值为该文件名print_func,即不执行if条件句。
发表于 2022-09-26 20:47:13 回复(1)
<p>py被自己直接执行,__name__ =‘main’ ,被当作外部导入时,__name__ = 该导入模块的文件名,没有.py</p>
发表于 2020-08-08 07:14:13 回复(0)
没看懂
发表于 2019-12-19 11:19:37 回复(0)
一个模块中有__name__ 1. 直接运行 __name__为 __main__ 2. 调用该模块,__name__为被调用模块的模块名!!
发表于 2019-10-04 01:27:23 回复(0)
实践结果正确确实是:A
发表于 2019-08-16 08:46:00 回复(0)
答案应该为A

发表于 2019-07-15 17:06:20 回复(0)
自己运行自己,name为main 别人运行自己,name为自己的模块名
发表于 2019-09-25 23:49:55 回复(0)
答案应该是A,这里是被导入的
发表于 2019-08-03 17:46:39 回复(0)
一、首先按照函数的执行顺序的话:
print('HelloWorld!')
print('__name__value: ', __name__),关于这后面的__name__第三点来解释
一定会执行:
二、其次因为if__name__ =='__main__',这边的被导入的函数名字不是__main__,所以这个main()不会执行
三、关于print(__name__)用法百度了一下
1.如果是脚本自己运行的话,这边的应该是输出__main__
2.如果是作为模块被引入的话,这边的名字是他函数的名称,也就是print_func 

发表于 2024-01-09 11:34:21 回复(0)

在Python中,__main__是一个特殊的内置变量,用于标识当前正在运行的脚本是否是直接执行的,而不是被其他脚本作为模块导入的。

当一个Python文件被直接执行时,__name__变量的值为__main__。如果该文件被导入为模块,则__name__变量的值为该文件的文件名(不包括路径和文件扩展名)。

发表于 2023-08-30 18:07:06 回复(0)
自己运行自己的程序,__name__ 即为__main__&nbsp;当程序当做脚本被别人调用运行时,其__name__ 为自己的模块名称,这里的print_func即被导入到print_module中当做脚本被运行时,则print_func的__name__即变为其自身的模块名。
发表于 2023-03-22 00:03:58 回复(0)