鱼C论坛

 找回密码
 立即注册
查看: 907|回复: 6

[已解决]大佬们留步 帮小弟看看题

[复制链接]
发表于 2020-5-24 17:06:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import datetime

if __name__ == '__main__':

    # 输出今日日期,格式为 dd/mm/yyyy。更多选项可以查看 strftime() 方法
    print(datetime.date.today().strftime('%d/%m/%Y'))

    # 创建日期对象
    miyazakiBirthDate = datetime.date(1941, 1, 5)

    print(miyazakiBirthDate.strftime('%d/%m/%Y'))

    # 日期算术运算
    miyazakiBirthNextDay = miyazakiBirthDate + datetime.timedelta(days=1)

    print(miyazakiBirthNextDay.strftime('%d/%m/%Y'))

    # 日期替换
    miyazakiFirstBirthday = miyazakiBirthDate.replace(year=miyazakiBirthDate.year + 1)

    print(miyazakiFirstBirthday.strftime('%d/%m/%Y'))


我就很好奇为什么好多用if __name__ == '__main__':去实现一些东西,用途和好处是什么?
最佳答案
2020-5-24 17:14:38
本帖最后由 xiaosi4081 于 2020-5-24 17:19 编辑
xiaosi4081 发表于 2020-5-24 17:11
一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用 ...


简单地说,当py文件以模块形式导入时,里面的代码不会执行,当py文件直接执行时,里面的代码就会执行。如果不这样子的话,程序一导入就会先执行一遍里面的主程序




如果帮助到你了,记得给个最佳哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-24 17:08:52 | 显示全部楼层
你当然可以不写,好处可以去看Python旧版if __name__ == "__main__"的课后作业。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-24 17:11:43 | 显示全部楼层
qiuyouzhi 发表于 2020-5-24 17:08
你当然可以不写,好处可以去看Python旧版if __name__ == "__main__"的课后作业。

谢谢你
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-24 17:11:49 | 显示全部楼层
一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用(模块重用)执行。因此 if __name__ == '__main__': 的作用就是控制这两种情况执行代码的过程,在 if __name__ == '__main__': 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而 import 到其他脚本中是不会被执行的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-24 17:14:38 | 显示全部楼层    本楼为最佳答案   
本帖最后由 xiaosi4081 于 2020-5-24 17:19 编辑
xiaosi4081 发表于 2020-5-24 17:11
一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用 ...


简单地说,当py文件以模块形式导入时,里面的代码不会执行,当py文件直接执行时,里面的代码就会执行。如果不这样子的话,程序一导入就会先执行一遍里面的主程序




如果帮助到你了,记得给个最佳哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-24 17:30:38 | 显示全部楼层
xiaosi4081 发表于 2020-5-24 17:14
简单地说,当py文件以模块形式导入时,里面的代码不会执行,当py文件直接执行时,里面的代码就会执行。 ...

谢谢哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-24 17:31:03 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-21 04:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表