关于前后双下划线的一道练习题——分苹果

源码客栈 论文问答 1
python书上的一道练习题,后面的
if __name__ == '__main__':

我不太明白,这个前后添加了双下划线的两个量在前文中也没有提到啊,它是什么意思呢?

完整的程序如下:
def division():
  '''功能:分苹果'''
  apple = int(input("请输入苹果的个数:"))
  children = int(input("请输入来了几个小朋友:"))
  result = apple // children
  remain = apple - result * children
  if remain > 0:
    print(apple, "个苹果,平均分给", children, "个小朋友,每人分", result, "个,剩下", remain, "个。")
  else:
    print(apple,"个苹果,平均分给", children, "个小朋友,每人分", result, "个。")
if __name__ == '__main__':
  try:
    division()
  except ZeroDivisionError:
    print("\n出错了,苹果不能被0个小朋友分")
  except ValueError as e:
    print("输入错误:", e)
  else:
    print("分苹果顺利完成")

回复

共2条回复 我来回复
  • 代码客栈
    这个人很懒,什么都没有留下~
    评论
    1. name 是模块(.py文件)在创建之初会自动加载一些内建变量;
    2. 当直接执行模块(.py文件)时, name 的值就是' main ';
    3. 当引入该模块时, name 的值就是【模块名】;
    4. 所以if name == ' main ':这个判断就是是不是直接执行的当前模块!
    0条评论
  • 源码货栈
    这个人很懒,什么都没有留下~
    评论

    这个 name 是python的固有属性来着。‘ main ’是其一个属性值,代表当前这个程序直接运行于本程序而非被调用运行。 你可以把if name =' main '当作是c语言里的 void main(){}

    0条评论

发表回复

登录后才能评论