python 中 from import, __name__, __all__, __init__.py 作用,python的模块和导入包
from import
即类似于其他语言一样,是为了将别人写好的 .py 文件引入,并用于自己使用
例如我在一个.py 文件中写了很多用于计数学计算的方法,当别人想要调用我写好的这一套方法时 就需要先 from 我写的文件或其他人写好的文件(python也称为模块) import 指定的方法名。
当然也可以直接使用 import * 即导入全部
一、__name__意义
在每一个 .py 即python 文件中都有一个__name__ 的属性。
(双下划线)
一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。
if __name__ == '__main__':print('自己在执行')
else:print('被引用')
在命令行直接执行时
PS D:\pythonProject> python 你的文件名.py
自己在执行
PS D:\pythonProject> import 你的文件名
被引用
每个模块都有一个__name__属性,当其值是’main’时,表明该模块自身在运行,否则是被引入。
二、dir() 函数
直接用在导入的模块名上 以字符串列表的形式输出当前这个模块内定义的所有名称
三、__init__意义
在导入一个包的时候,Python 会根据 sys.path 中的目录来寻找这个包中包含的子目录。
目录必须包含一个叫做__init__.py的文件才会被认作是一个包,为了避免被
最简单的情况下放一个空的__init__.py就可以,这也是我们使用 pycharm 创建新的 package 时为什么会自动生成一个空的__init__.py的原因
四、__all__意义
由于python 在import * 时会访问文件系统获取 from 后路径下的所有文件但windows平台对于大小写不区分的问题导致不知道要导入同名但不知道大小写是哪个的问题,所以使用了__all__属性来来手动指定精确的模块名
导入语句遵循如下规则:
如果包定义文件__init__.py 存在一个叫做__all__的列表变量,那么在使用
from package import*
的时候就把这个列表中的所有名字作为包内容导入。
如果你作为包的提供者,要保证在更新包之后 all 也更新!
无论是隐式的还是显式的相对导入都是从当前模块开始
主模块的名字(入口)永远是__main__
一个Python应用程序的主模块,应当总是使用绝对路径引用。
相关文章:
python 中 from import, __name__, __all__, __init__.py 作用,python的模块和导入包
from import 即类似于其他语言一样,是为了将别人写好的 .py 文件引入,并用于自己使用 例如我在一个.py 文件中写了很多用于计数学计算的方法,当别人想要调用我写好的这一套方法时 就需要先 from 我写的文件或其他人写好的文件(py…...
Composer安装与配置详解
目录 第一章:Composer简介 1.1 什么是Composer? 1.2 Composer与传统的依赖管理工具的区别 1.3 Composer的发展历程 1.4 本章小结 第二章:Composer安装 2.1 全局安装与项目内安装 2.1.1 全局安装 安装步骤 2.1.2 项目内安装 安装步骤 2.2 不同操作系统下的安装方…...
A5 STM32_HAL库函数 之 CAN通用驱动程序所有函数的介绍及使用
A5 STM32_HAL库函数 之 CAN通用驱动程序所有函数的介绍及使用 1 CAN通用驱动程序所有函数预览1.1 HAL_CAN_Init1.2 HAL_CAN_ConfigFilter1.3 HAL_CAN_DeInit1.4 HAL_CAN_MspInit1.5 HAL_CAN_MspDeInit1.6 HAL_CAN_Transmit1.7 HAL_CAN_Transmit_IT1.8 HAL_CAN_Receive1.9 HAL_C…...
python如何判断图片为黑白还是彩色
基本原理 灰度图分两种情况: 单通道的图片 RGB 三通道的图片,但是每个通道的值相等 对于单通道的图片只需要判断图片的通道值是否为1 对于RGB模式的图片,情况稍稍复杂些。理论上只需判断RGB三个通道的值是否相等,但是现实中灰度…...
C语言进阶课程学习记录-main函数与命令行参数
C语言进阶课程学习记录-main函数与命令行参数 main函数验证以下4中定义是否正确实验-main的返回值cmd窗口 实验-main的输入参数cmd窗口 在main函数执其执行的函数实验-程序执行的第一个函数gcc编译器cmd窗口bcc编译器 小结 本文学习自狄泰软件学院 唐佐林老师的 C语言进阶课程&…...
Utilize webcam to capture photo with camera
1. Official Guide& my github Official course my github 2. Overcome Webcam js Error in Chrome: Could not access webcam link 直接把代码拷贝到本机的下述目录下 To ignore Chrome’s secure origin policy, follow these steps. Navigate to chrome://flags/#un…...
【uniapp】开发微信小程序 — 注意事项
底部导航栏 (tabBar) 图标的正确做法: 1、图片的标准尺寸为 81px * 81px,该尺寸在官方的文档中有明确的说明,可以参考微信小程序全局配置文档中对 iconPath 属性的说明。 2、为了保持良好的间距,图片的内容区域设置 60px* 比较好&…...
the python tutorial
Using the Python Interpreter Using Python as a Calculator To do floor division and get an integer result you can use the // operator Problem Solving with Algorithms and Data Structures using Python 首先将其拉到本地? 按照craft的方式走一遍&…...
AIoT人工智能物联网之AI 实战
1. jetson-inference 入门 jetson-inference是官方推出的体验套件,提供了三种最常见的AI应用于计算机视觉的类型,imagenet用于 图像辨识 ( Image Recognition )、detectNet用于对象辨识 ( Object Detection )、segNet用于语义分割 可以先使用windows下载 jetson-inference(因…...
Python 大麦抢票脚本
请注意,编写或使用抢票脚本可能违反相关网站的服务条款和法律法规。以下内容仅供学习和了解技术原理之用,不鼓励或支持任何违反规定的行为。 在Python中编写大麦网抢票脚本通常涉及以下几个步骤: ### 1. 分析网站结构 - 使用浏览器的开发者…...
前端开发攻略---用JavaScript打造炫酷数字变化动画效果:手写实现你的自定义动画函数!支持更改任意数字、动画速度
1、演示 2、介绍 这篇文章将向您展示如何使用JavaScript来创建一个自定义的动画函数,以实现数字变化效果。我们将深入了解前端动画的本质,并通过手写代码来实现这个炫酷的数字变化动画效果。您将学到如何利用JavaScript来操作DOM元素,控制动画…...
【学习】移动端兼容性测试有什么方法及重要性
随着移动互联网的快速发展,移动应用程序已经成为人们日常生活中不可或缺的一部分。然而,由于各种移动设备的硬件和软件差异,移动应用程序的兼容性问题也越来越突出。因此,移动端兼容性测试成为了一个重要的环节,它可以…...
记录linux从0部署java项目(宝塔)
目录 一、安装宝塔可视化界面 二、部署前端 三、部署后端 1、配置并连接Mysql数据库 2、配置并连接redis 3、安装jdk 这里先记录一个安装后遇到的问题 安装openJDK 四、检查 一、安装宝塔可视化界面 宝塔面板下载,免费全能的服务器运维软件 运行安装脚本 安…...
Python的时间和日期:探索datetime模块
🚀 个人主页:xmp65535 🚀 专栏:python技术专栏 目录 一、前言 二、datetime 模块简介 三、基本使用 1.日期和时间的创建 2.获取当前日期和时间 3.时间戳与日期时间之间的转换 4.时间运算 5.格式化日期和时间 6.解析字符串…...
代理与反向代理
Java项目的代理与反向代理 1. 代理 定位:为客户端服务通信方向:客户端->代理服务器->远程服务器好处:对客户端行为进行过滤和控制;隐藏客户端IP地址;审计流量;缓存资源加快访问速度; 2…...
长风破浪会有时,直挂云帆济沧海
仅以此篇记录生活琐事,因为自己在初中就天天写日记,到了大学自己写日记的次数逐渐少了下来。 最近心不在焉,不知道为啥,也许是因为压力吧。在我这个年龄阶段的压力也许不一样吧,过几天又要参加自考的考试,自…...
jAavascript基础积累
深拷贝与浅拷贝 深拷贝(Deep Copy)和浅拷贝(Shallow Copy)是在编程中常用的概念,它们指的是复制对象或数组时的不同方式。让我们来详细解释它们,并列举一些例子: 浅拷贝(Shallow C…...
神经网络训练中batch的作用
在神经网络训练中,batch的作用主要包括以下几个方面: 减少内存占用和计算成本:在训练神经网络时,需要加载并处理大量的数据。使用batch训练可以将数据分成较小的批次,每次处理一小部分数据,从而减少内存占用…...
【grpc】grpc进阶一,再回首protobuf
在之前的章节里,我们了解了 protobuf 的基本规则和使用方法,生成了 grpc 代码并成功运行。那么我们还要思考一个问题,protobuf 文件到底该如何管理。我们知道 grpc 是区分客户端和服务端的,一般而言,客户端和服务端是分…...
iframe嵌入Vue页面实现免登方法
简介:实现一个功能需要使用iframe嵌入其它系统内部的一个页面,但嵌入后出现一个问题,就是一打开这个页面就会自动跳转到登录页,原因是被嵌入系统没有登录(没有token)肯定不让访问内部页面的,本文就是解决这个问题的。 …...
IPD实战指南:CBB模块化设计如何加速产品创新与资源整合
1. CBB模块化设计的本质与价值 第一次接触CBB这个概念时,我正负责一款智能家居产品的研发。当时团队为了赶进度,每个新产品都从零开始设计电路板,结果发现80%的功能模块都是重复的。这种低效的开发方式让我开始思考:能不能像搭积木…...
UniAppX项目数据可视化升级:用lime-echart + ECharts打造高性能图表(从Vue2/Vue3到uni-app-x全流程)
UniAppX高性能数据可视化实战:lime-echart与ECharts的深度整合指南 当移动端数据可视化需求遭遇性能瓶颈时,UniAppX框架与lime-echart的组合正在成为技术决策者的新选择。本文将揭示如何在不同技术栈中实现图表渲染性能的突破性提升,从原理剖…...
各向异性方解石晶体的双折射效应
1. 摘要 双折射效应是各向异性材料最重要的光学特性,并广泛应用于多种光学器件。当入射光波撞击各向异性材料,会以不同的偏振态分束到不同路径,即众所周知的寻常光束和异常光束。在本示例中,描述了如何利用VirtualLab Fusion对双折…...
每日算法题 17---205.同构字符串
题目 205.同构字符串 要求 给定两个字符串 s 和 t ,判断它们是否是同构的。如果 s 中的字符可以按某种映射关系替换得到 t ,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一…...
告别裸机思维:在GD32单片机上用FreeRTOS管理多个传感器(附源码)
从裸机到多任务:GD32FreeRTOS传感器管理系统实战 在嵌入式开发中,当系统需要同时处理多个外设时,传统的裸机编程往往会陷入复杂的状态机迷宫。我曾在一个环境监测项目中深有体会——当温湿度传感器、光照传感器、按键和OLED显示屏需要协同工作…...
E-Hentai Downloader 终极使用指南:从零开始掌握开源项目配置教程
E-Hentai Downloader 终极使用指南:从零开始掌握开源项目配置教程 【免费下载链接】E-Hentai-Downloader Download E-Hentai archive as zip file 项目地址: https://gitcode.com/gh_mirrors/eh/E-Hentai-Downloader 你是否经常在E-Hentai网站上遇到下载困难…...
答辩 PPT 不用熬!PaperXie AI PPT 让毕业论文答辩赢在 “门面”
paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AIPPThttps://www.paperxie.cn/ppt/createhttps://www.paperxie.cn/ppt/create 又到毕业冲刺季,当论文终于敲下最后一个句号,毕业论文答辩 PPT却成了新的 “熬夜重灾区”:…...
YOLOv8工业缺陷检测推理延迟骤降63%:基于TensorRT量化+ONNX Runtime定制化内核的完整链路
第一章:YOLOv8工业缺陷检测推理延迟骤降63%:基于TensorRT量化ONNX Runtime定制化内核的完整链路在高吞吐产线场景下,YOLOv8原生PyTorch模型在Jetson AGX Orin上单帧推理延迟达84.2ms(输入尺寸640640),严重制…...
STM32串口环形队列IAP固件更新方案
基于STM32串口环形队列的IAP实现方案1. 项目概述1.1 系统架构本方案实现了一种基于STM32F103C8T6微控制器的串口IAP(In-Application Programming)系统,采用环形队列缓冲机制解决有限SRAM空间下的固件更新问题。系统将64KB Flash空间划分为四个功能区域:B…...
六边形地理索引的终极指南:H3算法如何革新空间数据分析
六边形地理索引的终极指南:H3算法如何革新空间数据分析 【免费下载链接】h3 Hexagonal hierarchical geospatial indexing system 项目地址: https://gitcode.com/gh_mirrors/h3/h3 你是否曾为处理大规模地理空间数据而头疼?传统的地理索引系统在…...
