IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> if __name__ == ‘__main__‘: 的作用 -> 正文阅读

[Python知识库]if __name__ == ‘__main__‘: 的作用

一、介绍

(一)作用

  1. 对于大多数的编程语言来说都有一个入口函数,如:Java、C#都有一个包含main()的主类,并作为入口函数,但是python不一样,python是从脚本的第一行开始执行,没有统一的入口
  2. 一个python文件有两种使用方法,一种是作为脚本运行;另外一个是作为模块,使用import语句被调用到其他的py文件中。
    所以if __name__ == '__main__': 的作用就是:控制这两种情况执行代码的过程。
  3. (1).py文件作为脚本运行时,if __name__ == '__main__': 中的代码被执行
    (2).py文件是被import语句调用到其他.py文件中时,if __name__ == '__main__': 中的代码不会被执行。

(二)原理

  1. if __name__ == '__main__': 中的__main__是一个记录模块名称的变量,当程序作为脚本文件运行时,__main__的值就是'__main__',如果当前文件作为模块导入到其他文件当中,则返回的值是该模块的文件名称。

二、举例说明

(一)作用说明

  1. 目录结构:名为“py测试”的文件夹下,两个同级目录py文件:
|--py测试
	|--add1.py
	|--main.py
  1. 作为脚本文件

(1)add1.py文件中的code如下:

print ('做加法运算')

if __name__ == '__main__':
    print('PyCharm')

(2)运行当前文件,即add.py文件此时作为脚本文件),输出结果如下:有两行输出

做加法运算
PyCharm

输出了第一个print中的字符串,同时,也输出了if __name__ == '__main__':中的print里的内容。即:if __name__ == '__main__': 中的代码被执行

  1. 作为被调用模块

(1)main.py文件中的code(就一行code)如下:

import add1   # 调用add1

(2)运行当前文件,即main.py文件此时的代码中的add1是作为了调用模块,所以add1.py文件中的if __name__ == '__main__':中的代码不会被执行,所以第二个print不会输出。
(3)运行结果如下:只有一行输出

做加法运算

(二) 原理说明

(1)add1.py文件中的代码如下:

print ('做加法运算')
print('__name__的值为:', __name__)

if __name__ == '__main__':
    print('PyCharm')
   

(2)运行当前add1.py文件,输出结果发现'__name__'的值就为'__main__',如下图:

在这里插入图片描述

(3)main.py文件中调用add1模块,main.py文件的代码如下:

import add1

(4)运行当前main.py文件,输出结果发现'__name__'的值变了,为调用的模块名称'add1',所以不会执行add1.py文件中if __name__ == '__main__': 后面的代码,即:不会输出’Pycharm’如下图:

在这里插入图片描述

三、参考链接

link

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 12:28:59  更:2022-10-17 12:32:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 6:35:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码