Python中if __name__ = "__main__"的理解
通俗的理解__name__ ="__main__"的意思就是:当.py文件被直接运行时,if __name__ = "__main__"之下的代码快将被运行;当.py以模块的形式被导入时,if __name__ = "__main__"之下的代码将不被运行
程序入口
对于很多编程语言来说,程序都会有一个入口,python属于脚本语言,不像编译型语言那样先将程序编译称二进制再运行,而是动态的逐行运行。也就是从脚本的第一行开始运行没有统一的入口。一个python的源码除了可以直接运行外,还可以做成模块被其他.py文件导入。
代码实例:
现在有以下一个源码:number.py
1 p = 2
2 def main:
3 print("p = ",p)
4
5 main()
6
7 运行结果:p = 2
当我们将此源码作为模块进行导入时
1 from number import p
2 def func(numbers):
3 return numbers *(p ** 2)
4 def main:
5 print("number",funs(2))
6
7 main()
8 #运行结果:
9 p = 2
10 number8
现在我们对number.py进行修改,添加if __name__ = "__main__"
1 p = 2
2 def main:
3 print("p = ",p)
4 if __name__ = "__main__":
5 main()
此时当number.py被作为模块进行导入时,if __name__ = "__main__"后面的语句将不会被执行
if __name__ = "__main__"就相当于一个程序入口,也可以理解为是一个编程习惯吧
Python中if __name__ = "__main__"的理解的更多相关文章
- Python中if __name__ == "__main__": 的理解
1.在很多python脚本中在最后的部分会执行一个判断语句if __name__ == "__main__:",之后还可能会有一些执行语句.那添加这个判断的目的何在? 在pytho ...
- python 中if __name__ = '__main__' 的作用
python 中if __name__ = '__main__' 的作用 前言 首先我们要知道在python里面万物皆对象,模块也是对象,并且所有的模块都有一个内置属性 __name__. 一个模块的 ...
- FAQ: Python中if __name__ == '__main__':作用
#hello.pydef sayHello(): str="hello" print(str); if __name__ == "__main__": prin ...
- Python中if __name__ == '__main__':作用
#hello.pydef sayHello(): str="hello" print(str); if__name__=="__main__": print ( ...
- python中if __name__ == '__main__': 的解析
当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一 ...
- python中if __name__ == '__main__'
python 中__name__ = '__main__' 的作用,到底干嘛的? 有句话经典的概括了这段代码的意义: “Make a script both importable and execut ...
- python基础之python中if __name__ == '__main__': 的解析
当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一个 ...
- python中if __name__ == '__main__': 解析
当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一 ...
- Python常见经典 python中if __name__ == '__main__': 的解析
当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一个 ...
随机推荐
- K8s(一)----容器编排工具基础概念
kubernetes(k8s)容器编排工具基础概念 Kubernetes (K8s): 中文社区:https://www.kubernetes.org.cn/replication-controlle ...
- 基础命令使用[win篇]
基础命令使用 [ win篇 ] 2017-11-05 WIN CMD 0x01 基础命令使用: 演示环境: 1 2 win2008R2cn ip: 192.168.3.23 假设为入侵者机器 ...
- React Native & Security
React Native & Security https://reactnative.dev/docs/security React Native blogs https://reactna ...
- 如何配置 webpack 支持 preload, prefetch, dns-prefetch
如何配置 webpack 支持 preload, prefetch, dns-prefetch webpack , preload, prefetch https://webpack.js.org/p ...
- web development all in one
web development all in one https://javascript.xgqfrms.xyz/web-development-all-in-one.html refs https ...
- html template tag
html template tag const tagName = `emoji-element`; const template = document.createElement('template ...
- node应用层中间件使用
var express = require("express") var path = require("path") var app = express() ...
- postman工具的用法
1.postman发送json字符串的方法 1)设置header Content-Type application/json 2)指定发送类型和json数据
- Prism.WPF -- Prism框架使用(上)
本文参考Prism官方示例 创建Prism项目 将App.xaml中的WPF标准Application替换为PrismApplication,移除StartupUri属性: 将App.xaml.cs中 ...
- ElasticSearch 集群安全
公号:码农充电站pro 主页:https://codeshellme.github.io 在安装完 ES 后,ES 默认是没有任何安全防护的. ES 的安全管理主要包括以下内容: 身份认证:鉴定访问用 ...