if __name__ == ‘__main__‘: 在 Python 中的作用

Python

  1. Python 是一种广泛使用的高级编程语言,它以其易读性和简洁的语法而闻名。Python 支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。它由 Guido van Rossum 创建,并在 1991 年首次发布。

  2. Python 的一些关键特性包括:

    1. 可读性强:Python 的语法设计得非常清晰,使得代码易于阅读和理解。
    2. 跨平台:Python 可以在多种操作系统上运行,如 Windows、macOS 和 Linux。
    3. 解释型语言:Python 是一种解释型语言,这意味着源代码在运行时会被解释器逐行执行。
    4. 动态类型:Python 是动态类型的,这意味着你不需要在编写代码时声明变量的类型。
    5. 内存管理:Python 有自动内存管理和垃圾回收机制,这使得内存管理更加容易。
    6. 丰富的标准库:Python 有一个庞大的标准库,提供了许多内置的模块和函数,用于执行常见的任务。
    7. 广泛的社区支持:Python 有一个活跃的开发者社区,提供了大量的第三方库和框架。
    8. 适用于多种应用:Python 可用于开发各种类型的应用程序,包括 Web 开发、数据科学、人工智能、科学计算、自动化脚本等。
  3. Python 的版本主要有 Python 2 和 Python 3。Python 2 在 2020 年已经停止支持,目前推荐使用的是 Python 3。

  4. Python官网:https://www.python.org/
    在这里插入图片描述

解释

  1. 在 Python 中,if __name__ == '__main__': 是一个常用的模式,用于确定代码块是否应该被执行。这个模式通常用于模块中,使得模块既可以被导入使用,也可以作为脚本直接运行。

    • 作为模块:如果模块被其他 Python 脚本导入,__name__ 变量会被设置为模块的名字,而不是 '__main__'。因此,if __name__ == '__main__': 后的代码块不会被执行。
    • 作为脚本:如果模块是作为脚本直接运行的,__name__ 变量会被设置为 '__main__'。这时,if __name__ == '__main__': 后的代码块会被执行。
  2. 这种模式使得模块可以灵活地被重用,同时提供了一个入口点,用于当模块被直接运行时执行一些特定的操作。

优点

使用 if __name__ == '__main__': 的主要优点是:

  • 代码重用:你可以将函数和类定义在同一个文件中,然后根据需要将它们作为模块导入到其他脚本中。
  • 避免重复执行:当你的模块被导入时,你不希望执行某些代码(如主程序逻辑),这样可以避免不必要的重复执行。

示例

  1. Python demo
# 这是一个模块,可以被其他脚本导入def my_function():print("This is a function in the module.")if __name__ == '__main__':# 这段代码只有在模块被直接运行时才会执行print("This module is being run as a script.")my_function()
  1. 作为脚本直接运行:python my_module.py,输出如下,可以看到两段文字都打印出来了。
    在这里插入图片描述
  2. 作为模块,在另外一个脚本main.py中导入该模块,运行python main.py,输出如下,看到只输出This is a function in the module.,而不会看到 This module is being run as a script. 这条信息,因为 if __name__ == '__main__': 后的代码块没有被执行。
import my_modulemy_module.my_function()

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/430691.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python中requests模块(爬虫)基本使用

Python的requests模块是一个非常流行的HTTP库,用于发送HTTP/1.1请求。 一、模块导入 1、requests模块的下载: 使用包管理器下载,在cmd窗口,或者在项目的虚拟环境目录下: pip3 install -i https://pypi.tuna.tsingh…

Chrome开发者工具如何才能看到Vue项目的源码

大家好,我是 程序员码递夫。 今天给大家分享的是 Chrome开发者工具如何才能看到Vue项目的源码。 问题 我们在编写一下Vue项目时,常常要通过 chrome 进行本地调试后,才打包 生产版本。 但有时打开 chrome 的开发者工具后,看到的…

什么是反射,反射用途,spring哪些地方用到了反射,我们项目中哪些地方用到了反射

3分钟搞懂Java反射 一、反射是什么 在Java中,反射(Reflection)是一种强大的工具,它允许程序在运行时获取和操作类、接口、构造器、方法和字段等。反射是Java语言的一个重要特性,它为开发人员提供了许多灵活性&#xf…

50页PPT麦肯锡精益运营转型五步法

读者朋友大家好,最近有会员朋友咨询晓雯,需要《 50页PPT麦肯锡精益运营转型五步法》资料,欢迎大家下载学习。 知识星球已上传的资料链接: 企业架构 企业架构 (EA) 设计咨询项目-企业架构治理(EAM)现状诊断 105页PPTHW企业架构设…

收据信息提取系统源码分享

收据信息提取检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

vue-baidu-map的基本使用

前言 公司项目需求引入百度地图,由于给的时间比较短,所以就用了已经封装好了的vue-baidu-map 一、vue-baidu-map是什么? vue-baidu-map是基于vue.js封装的百度地图组件(官方文档) 二、使用步骤 1.下载插件 //我下载的版本 npm install …

在虚幻引擎中实现Camera Shake 相机抖动/震屏效果

在虚幻引擎游戏中创建相机抖动有时能让画面更加高级 , 比如 遇到大型的Boss , 出现一些炫酷的特效 加一些短而快的 Camera Shake 能达到很好的效果 , 为玩家提供沉浸感 创建Camera Shake 调整Shake参数 到第三人称或第一人称蓝图 调用Camera Shake Radius值越大 晃动越强

vscode缩进 和自动格式化

如下图,缩进太大了。 检查2个地方 prettierrc.cjs文件。此处决定缩进几个tab vscode 的设置。 保存的时候 格式化。

数据结构——顺序表、链表

目录 前言 一,数据结构 1,什么是数据结构? 2,有什么类型? 二,顺序表 1,线性表 2,顺序表基本结构 3,动态顺序表的功能实现 三,链表 1,链…

AI大模型微调训练营,全面解析微调技术理论,掌握大模型微调核心技能

一、引言 随着人工智能技术的飞速发展,大型预训练模型(如GPT、BERT、Transformer等)已成为自然语言处理、图像识别等领域的核心工具。然而,这些大模型在直接应用于特定任务时,往往无法直接达到理想的性能。因此&#…

RPA + 计算机视觉

随着超自动化成为顶级企业技术趋势之一,领先的机器人流程自动化 (RPA) 公司开始将人工智能功能集成到其自动化工具中,以创建能够自动化端到端流程并做出决策的智能机器人。计算机视觉是新一代 RPA 工具的关键 AI 功能之一。 在本文中,我们将…

Elasticsearch:检索增强生成背后的重要思想

作者:来自 Elastic Jessica L. Moszkowicz 星期天晚上 10 点,我九年级的女儿哭着冲进我的房间。她说她对代数一无所知,注定要失败。我进入超级妈妈模式,却发现我一点高中数学知识都不记得了。于是,我做了任何一位超级妈…

web学习——VUE

VUE&Element 今日目标: 能够使用VUE中常用指令和插值表达式能够使用VUE生命周期函数 mounted能够进行简单的 Element 页面修改能够完成查询所有功能能够完成添加功能 1,VUE 1.1 概述 接下来我们学习一款前端的框架,就是 VUE。 Vue 是…

二.python基础语法

目录 1.第一个python实例 2.python编码规范 2.1.编写规则 2.2.命名规范 2.3. 空格 2.4. 缩进 2.5. 注释 3.python关键字和标识符 3.1.标识符 3.2.关键字 4.python变量 4.1. 定义变量 4.2. 变量类型是可变的 4.3. 多个变量指向同一个值 5.python基本数据类型 5.…

OpenCV特征检测(12)检测图像中的潜在角点函数preCornerDetect()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算用于角点检测的特征图。 该函数计算源图像的基于复杂空间导数的函数 dst ( D x src ) 2 ⋅ D y y src ( D y src ) 2 ⋅ D x x src − 2 …

流水线部署失败排查指南

在现代软件开发中,CI/CD(持续集成/持续交付)流水线是确保代码质量和快速交付的重要工具。然而,部署失败时,排查问题的能力至关重要。以下是一些常见的故障排查步骤和技巧。 ## 1. 检查流水线日志 首先,查看…

一文讲清楚0基础小白如何快速入门大语言模型

1、快速一览 读完可以收获: 快速建立大语言模型的概念、基本原理。 几个概念之间的关系: 人工智能:让机器(或系统)像人一样思考行动。 机器学习:从数据中寻找规律、建立关系,根据建立的关系去…

OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【LMS调测】

往期知识点记录: 鸿蒙(HarmonyOS)应用层开发(北向)知识点汇总 鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~ 持续更新中…… 基本概念 LMS全称为Lite Memory Sanitizer,是一种实时…

31省市农业地图大数据

1.北京市 谷类作物种植结构(万亩) 农作物种植结构(万亩) 2.天津市 谷类作物种植结构(万亩) 农作物种植结构(万亩) 3.黑龙江省 谷类作物种植结构(万亩) 农作物…

Appium自动化测试概述

Appium是一个可用于测试iOS、 Android操作系统和Windows桌面平台原生应用,移动网页应用和混合应用的自动化测试框架。 原生应用(Native App):用 android、iOS或者Windows SDK编写的应用 移动网页应用(Web App):通过手机浏览器访问的网页应用,比如iOS中 safari应用,And…