码农知识堂 - 1000bd
Python
PHP
JS/TS
JAVA
C/C++
C#
GO
Kotlin
Swift
Python入门教学——if __name__==‘__main__‘:
1、简介
对于很多编程语言来说,程序都必须要有一个入口,比如C 和 C++ 都需要有一个 main 函数来作为程序的入口,即程序的运行会从 main 函数开始。
但和C,C++等有所不同的是,Python属于脚本语言,不像编译型语言那样先将程序编译成二进制再运行,python是动态的逐行解释运行,也就是从脚本第一行开始运行,没有统一的入口。
python文件有两种使用方法:
直接作为脚本执行。
import到其他的python脚本中被调用执行,即作为模块(库)被导入执行。
不管是直接运行还是导入,最顶层的代码都会被运行(Python 用缩进来区分代码层次)。但实际使用过程中,python文件作为模块被其它python脚本调用执行的时候,有的代码我们是不希望被运行的。
而
if __name__=='__main__':
的作用就是定义这两种情况执行代码的执行方式,
在该语句下的代码只有在文件作为脚本直接执行情况下才会被执行,而import到其他脚本中是不会被执行的。
2、举例
我们编写两个模块代码,在demo1中编写add函数,并且调用。在demo2中引入add函数,并且调用。
运行后demo2会发现,两个调用都被实现了,这并不是我们想要的结果。
对demo1的代码进行修改。
,将demo1中的函数调用添加到
if __name__=='__main__':
中。
再次运行demo2,仅有demo2中的函数调用被实现。
因为,demo1是被导入到其他的python脚本中运行的,所以
if __name__=='__main__':
下的代码块被执行。
3、原理
每个python模块(单个python文件)都包含内置的变量__name__,当模块被直接执行时,__name__等于文件名
(包含后缀.py)
。当模块import到其他脚本文件时,则__name__等于模块名称
(不包含后缀.py)
。而
'__main__'等于当前执行文件的名称(包含了后缀.py)
。故当模块作为脚本文件直接执行时,__name__=='__main__'结果为真,所以后续代码可以继续执行。
例如:
在demo1.py中输出__name__,运行后可以看出变量__name__的值为'__main__'。
再运行demo2,可以看到此时输出的变量__name__为demo1。
相关阅读:
子类和父类存在同名函数的时候。
Java毕设项目——人才招聘网站(java+SpringBoot+Maven+Mysql+Jsp)
ppt怎么转换成word文档呢?
3d建模师会因为年龄大而淘汰吗?没有自学能力,入行都是问题!
今天是新的一天
基于.Net项目实施管理系统设计与实现
系统编程 day12 (linux ) 消息队列 的函数 与知识
【TIPs】 Visual Stadio 2019 中本地误使用“git的重置 - 删除更改 -- hard”后,如何恢复?
2022 Gartner RPA魔力象限发布,两家国产厂商入选,超自自动化成重点
谷歌翻译不能用了
原文地址:https://blog.csdn.net/weixin_45100742/article/details/132833277
最新文章
攻防演习之三天拿下官网站群
数据安全治理学习——前期安全规划和安全管理体系建设
企业安全 | 企业内一次钓鱼演练准备过程
内网渗透测试 | Kerberos协议及其部分攻击手法
0day的产生 | 不懂代码的"代码审计"
安装scrcpy-client模块av模块异常,环境问题解决方案
leetcode hot100【LeetCode 279. 完全平方数】java实现
OpenWrt下安装Mosquitto
AnatoMask论文汇总
【AI日记】24.11.01 LangChain、openai api和github copilot
热门文章
十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
奉劝各位学弟学妹们,该打造你的技术影响力了!
五年了,我在 CSDN 的两个一百万。
Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
面试官都震惊,你这网络基础可以啊!
你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
心情不好的时候,用 Python 画棵樱花树送给自己吧
通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
13 万字 C 语言从入门到精通保姆级教程2021 年版
10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系
2656653265@qq.com
京ICP备2022015340号-1
正则表达式工具
cron表达式工具
密码生成工具
京公网安备 11010502049817号