当前位置: 首页 > news >正文

__init__.py __all__和 __name__的作用及其用法

    __ init__.py 的作用及其用法: 包下的__init__.py 所在目录是一个模块包,本身也是一个模块,可用于定义模糊导入时要导入的内容。当我们导入一个包的时候,包下的__init__.py中的代码会自动执行,因此在某些大的项目被使用频率较高的模块,我们也可以用于批量导入模块。


    首先创建一个名为 package5的包,这个包的__init__.py 也自动生成,再创建 init_test.py。 创建子包 package_init, 同样这个包的__init__.py 也自动生成,最后创建 init_demo1.py 和 init_demo2.py



在这里插入图片描述



    分别给 init_demo1.py 和 init_demo2.py 随意加一个str



在这里插入图片描述



在这里插入图片描述



    当在 init_test.py 中 执行模糊导入 from package5.package_init import * 后,打印 init_demo1 的 str1 和 init_demo2 的 str2 变量时,都会出现报错



在这里插入图片描述



在这里插入图片描述



    可以在 package_init 包下的__init__.py 添加 __ all__ = [‘init_demo1’,‘init_demo2’],
__ all__ 的作用稍后下面会继续说明



在这里插入图片描述



    再次执行 init_test.py, 能正常打印出 2个变量值



在这里插入图片描述



    当导入包时,自动执行 __init __.py 里面的代码



在这里插入图片描述



在这里插入图片描述



    批量导入模块, 假设有3个常用的模块,可以添加到 __ init __.py



在这里插入图片描述



    导入 package_init,相当于已经自动导入以上3个模块



在这里插入图片描述



    __all__的作用及其用法 :上面已经演示了在包下的 __init __.py, 可用于标识模糊导入时的模块。


    在普通模块中使用时,表示一个模块中允许哪些属性可以被导入到别的模块中,在 all_demo1.py 中添加3个变量,以及 标明 __ all__ = [‘str1’,‘str2’], 表示只允许 str1,str2 变量被导入



在这里插入图片描述



    可见,当模糊导入模块时, str3 变量值是不能被打印出来的



在这里插入图片描述



    如果需要打印出 str3 变量,需要导入模块时指明



在这里插入图片描述



    __name__的作用及其用法: __name__这个系统变量显示了当前模块执行过程中的名称,如果当前程序运行在这个模块中, __ name __ 的名称就是__main __ 如果不是,则为这个模块的名称。__main__一般作为函数的入口, 也称主程序入口



在这里插入图片描述



    当 all_demo1.py 作为模块被导入时,结果为该模块名



在这里插入图片描述

相关文章:

__init__.py __all__和 __name__的作用及其用法

__ init__.py 的作用及其用法: 包下的__init__.py 所在目录是一个模块包,本身也是一个模块,可用于定义模糊导入时要导入的内容。当我们导入一个包的时候,包下的__init__.py中的代码会自动执行,因此在某些大的项目被使用频率较高的模块&#x…...

js操作数组的方法 / js操作字符串的方法

操纵数组的方法 常见的有10种 push() -在数组末尾添加一个或多个元素,并返回新的长度。 pop() -删除数组的最后一个元素,并返回那个元素。 shift() -删除数组的第一个元素,并返回那个元素。 unshift() -在数组的开始添加一个或多个元素&…...

Docker 部署RocketMQ

FROM: Docker安装RocketMQ教程_docker 安装rocketmq-CSDN博客...

Linux(Cent OS)环境离线安装mkfontscale mkfontdir命令 解决java项目在linux系统下无法获取中文字体问题

https://download.csdn.net/download/mlc19860417/89938093 1 附件下载 1.libfontenc-1.1.3-3.amzn2.0.2.x86_64.rpm 2.libXfont-1.5.2-1.amzn2.0.2.x86_64.rpm 3.xorg-x11-font-utils-7.5-20.amzn2.0.2.x86_64.rpm 4.fontpackages-filesystem-1.44-8.amzn2.noarch.rpm 5.sti…...

计算堆栈中的剩余数字

更多关于刷题的内容欢迎订阅我的专栏华为刷题笔记 该专栏题目包含两部分&#xff1a; 100 分值部分题目 200 分值部分题目 所有题目都会陆续更新&#xff0c;订阅防丢失 题目描述&#xff1a; 向一个空栈中依次存入正整数&#xff0c; 假设入栈元素 n ( 1 < n < 2…...

笔记:mysql升级 5.6至5.7

说明 一台已有数据的机器&#xff0c;停机升级&#xff0c;从MySQL Server5.6.48&#xff0c;升级到 5.7.38。 环境介绍 10.24.10.247&#xff0c;Mysql 5.6.48 CentOS Linux release 7.9.2009 (Core) 32G内存、500G数据盘/home&#xff1b; 实际数据量约120M&#xff0c;2个…...

前端的全栈Deno篇(五):与前端保持一致的模块化方案,摆脱ERR_REQUIRE_ESM和mjs、cjs等模块混乱带来的心智负担

在现代JavaScript开发中&#xff0c;模块化系统的演变经历了多次变革&#xff0c;使得前端和后端开发人员在选择模块加载方式时常常感到困惑。尤其是Node.js所采用的CommonJS和ESM&#xff08;ECMAScript Modules&#xff09;两种模块体系&#xff0c;以及文件扩展名的多样性&a…...

与外部公司做数据交互时,需要注意哪些事情?

在现代企业系统中&#xff0c;数据交互已成为日常业务流程的核心部分。与外部公司进行数据交换可以带来业务合作和资源共享的机会&#xff0c;但也带来了数据安全、协议兼容性、合规性等方面的挑战。本文将深入探讨在与外部公司进行数据交互时需要关注的关键事项&#xff0c;并…...

基于hive分析Flask为后端框架echarts为前端框架的招聘网站可视化大屏项目

基于hive分析Flask为后端框架echarts为前端框架的招聘网站可视化大屏项目 1. 项目概述 项目目标是构建一个大数据分析系统&#xff0c;包含以下核心模块&#xff1a; 1、数据爬取&#xff1a;通过request请求获取猎聘网的就业数据。 2、数据存储和分析&#xff1a;使用 Hive …...

Ansible 部署应用

Ansible Ansible 是基于 Python 开发&#xff0c;集合了众多优秀运维工具的优点&#xff0c;实现了批量运行命令、部署程序、配置系统等功能的自动化运维管理工具。默认通过 SSH 协议进行远程命令执行或下发配置&#xff0c;无需部署任何客户端代理软件&#xff0c;从而使得自动…...

使用Docker Swarm进行集群管理

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 使用Docker Swarm进行集群管理 Docker Swarm简介 安装Docker 在Ubuntu上安装Docker 在CentOS上安装Docker 在macOS上安装Docker …...

基于树莓派的安保巡逻机器人--(一、快速人脸录入与精准人脸识别)

目录 零、前言 一、人脸检测 二、人脸识别 1、采集人脸 2、训练人脸识别模型 3、人脸识别应用 零、前言 随着智能安防需求的增长&#xff0c;基于人工智能和物联网的安保系统逐渐成为趋势。树莓派因其低成本、高扩展性等特点&#xff0c;成为很多AI项目的理想平台。本文将为大…...

中间件的应用

控制器 <?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;class AgeController extends Controller {//public function index(){return "年龄测试";} }路由 // 年龄控制器路由 Route::get("d2/{age}",[AgeController::class,&quo…...

真题与解析 202206二级 青少年软件编程(Python)考级

青少年软件编程(Python)等级考试试卷(二级) 202206真题与解析 分数:100 题数:37 测试时长:60分钟</...

ChatGPT新体验:AI搜索功能与订阅支付指南

就在凌晨&#xff0c;在ChatGPT迎来两周岁生日之际&#xff0c;OpenAI重磅发布了ChatGPT的全新人工智能搜索体验。 期待已久的时刻终于到来&#xff0c; ChatGPT正式转型成为一款革命性的AI搜索引擎! 先来看看ChatGPT搜索&#xff1a;这次不是简单的加个搜索框&#xff0c;而…...

【植物识别】Python+深度学习+人工智能+CNN卷积神经网络+算法模型训练+TensorFlow

一、介绍 植物识别系统&#xff0c;使用Python作为主要编程语言开发&#xff0c;通过收集常见的6中植物树叶&#xff08;‘广玉兰’, ‘杜鹃’, ‘梧桐’, ‘樟叶’, ‘芭蕉’, ‘银杏’&#xff09;图片作为数据集&#xff0c;然后使用TensorFlow搭建ResNet50算法网络模型&am…...

快讯,Flutter PC 多窗口新进展,已在 Ubuntu/Canonical 展示

相信 Flutter 开发者对于 Flutter PC 多窗口的支持一直是「望眼欲穿」&#xff0c;而根据 #142845 相关内容展示&#xff0c; 在上月 27 号的 Ubuntu 峰会&#xff0c;Flutter 展示了多窗口相关进展。 事实上 Ubuntu 和 Flutter 的进一步合作关系应该是在 2021 年就开始了&…...

BigDecimal 详解

阿里巴巴 Java 开发手册》中提到&#xff1a;“为了避免精度丢失&#xff0c;可以使用 BigDecimal 来进行浮点数的运算”。 浮点数的运算竟然还会有精度丢失的风险吗&#xff1f;确实会&#xff01; 示例代码&#xff1a; float a 2.0f - 1.9f; float b 1.8f - 1.7f; Syst…...

ESP-HaloPanel:用 ESP32-C2 打造超低成本智能家居面板

项目简介 在生活品质日益提升的今天&#xff0c;智能家居系统已经走进了千家万户&#xff0c;并逐渐成为现代生活的一部份。与此同时&#xff0c;一款设计精致、体积轻盈、操作简便的全屋智能家居控制面板&#xff0c;已经成为众多家庭的新宠。这种高效、直观的智能化的解决方…...

CSS3新增盒子属性(三)

1、CSS3新增盒子属性 1.1 box-sizing 设置盒子的大小。 content-box&#xff1a;设置内容区的大小&#xff1b;border-box&#xff1a;设置盒子的总大小。 <!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><t…...

文献综述怎么写?研一萌新用Scholaread三天搞定开题文献综述(附100+篇文献整合方法)

开题在即&#xff0c;你面对电脑屏幕上50个PDF发呆&#xff0c;复制粘贴了20页摘要却被导师批"毫无逻辑"。问题不在于你不努力&#xff0c;而在于缺少系统化的文献综述工具链。本文拆解用Scholaread完成高质量文献综述的完整流程&#xff0c;让你从"不知道怎么开…...

ARMv8.3指针认证技术原理与安全实践

1. AArch64指针认证技术深度解析指针认证&#xff08;Pointer Authentication&#xff09;是ARMv8.3-A引入的关键安全特性&#xff0c;通过在指针的高位比特中嵌入加密签名&#xff08;Pointer Authentication Code, PAC&#xff09;来验证指针的完整性。这项技术能有效防御ROP…...

Perplexity搜索效率提升73%的6个隐藏技巧:资深AI分析师亲测有效

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Perplexity搜索效率提升73%的底层动因解析 Perplexity 作为新一代语义优先的AI搜索引擎&#xff0c;其搜索延迟中位数从 1.84s 降至 0.50s&#xff08;实测提升 73%&#xff09;&#xff0c;这一突破并…...

【企业级实战】如何设计一套真正具备“100%物理交割能力”的白盒自研Web后端中台架构?(附核心拦截器代码)

在 2026 年企业级信息化项目交付中&#xff0c;“源码确权”与“独立脱机自运行”已经成为信创等保和数据合规的刚性技术指标。很多团队在交付网站或企业级 Web 门户时&#xff0c;由于依赖了带有云端鉴权验证的黑盒第三方插件&#xff0c;或者后台架构存在远程遥控隐患&#x…...

快速上手3DGS数字孪生开发:一份必做的技术动作盘点清单

一、行业核心技术科普&#xff1a;3DGS数字孪生开发的关键技术节点从零开始构建一个基于3D高斯泼溅&#xff08;3DGS&#xff09;的数字孪生应用&#xff0c;涉及多个关键技术节点。每个节点的执行质量&#xff0c;都直接影响最终应用的性能与用户体验。其域创新推出的LCC格式&…...

限时公开!Perplexity内部图书语义索引机制解析(含ISBN/DOI/学科标签三级权重算法)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;限时公开&#xff01;Perplexity内部图书语义索引机制解析&#xff08;含ISBN/DOI/学科标签三级权重算法&#xff09; Perplexity 的图书知识图谱并非依赖传统全文倒排索引&#xff0c;而是构建于一套动…...

别再手动调寄存器了!用Simulink给F28335 DSP配置ePWM,20kHz互补带死区输出一次搞定

告别寄存器调试&#xff1a;用Simulink图形化配置F28335 DSP的ePWM模块 在电机控制和电源逆变器开发中&#xff0c;PWM信号生成是核心环节。传统开发方式需要工程师反复查阅数百页的数据手册&#xff0c;手动计算并配置数十个寄存器参数&#xff0c;一个简单的死区时间设置就可…...

如何免费使用AI图像放大神器Upscayl?一文掌握所有技巧

如何免费使用AI图像放大神器Upscayl&#xff1f;一文掌握所有技巧 【免费下载链接】upscayl &#x1f199; Upscayl - #1 Free and Open Source AI Image Upscaler for Linux, MacOS and Windows. 项目地址: https://gitcode.com/GitHub_Trending/up/upscayl 想要将模糊…...

终极指南:3步让苹果触控板在Windows上获得原生级体验

终极指南&#xff1a;3步让苹果触控板在Windows上获得原生级体验 【免费下载链接】mac-precision-touchpad Windows Precision Touchpad Driver Implementation for Apple MacBook / Magic Trackpad 项目地址: https://gitcode.com/gh_mirrors/ma/mac-precision-touchpad …...

NGSIM数据集:如何成为自动驾驶算法开发的‘黄金标准’测试集?

NGSIM数据集&#xff1a;自动驾驶算法开发的黄金标准与实战指南 在自动驾驶技术快速迭代的今天&#xff0c;算法验证的可靠性直接决定了系统落地的安全性。而NGSIM数据集凭借其0.1秒级高精度采样和真实人类驾驶行为记录&#xff0c;已成为行业公认的算法测试基准。不同于合成数…...