iwkai 2022-04-02 18:20 采纳率: 85.7%
浏览 79
已结题

Python中_name_ == '_main_'的作用是什么,看书感觉看不明白,好像加不加效果一样?

问题遇到的现象和发生背景

如标题

问题相关代码,请勿粘贴截图

class CitiseTset(unittest.TestCase):
def test_city_country(self):
citycountry = city_country("shanghai", "China")
self.assertEqual(citycountry, "Shanghai, China")

if name == 'main':
unittest.main()

运行结果及报错内容

结果都是OK

我想要达到的结果

想求一个比较好理解的解释方式

  • 写回答

3条回答 默认 最新

  • hellobigorange 人工智能领域新星创作者 2022-04-02 18:24
    关注

    一个python的文件有两种使用的方法,第一是直接作为脚本执行,第二是import到其他的python脚本中被调用(模块重用)执行。因此if name == 'main': 的作用就是控制这两种情况执行代码的过程,在if name == 'main': 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而import到其他脚本中是不会被执行的。

    因为你一直在当前脚本下运行的,所以加不加确实没有区别

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月10日
  • 已采纳回答 4月2日
  • 创建了问题 4月2日

悬赏问题

  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分