Python基础篇(18):模块与包

news2024/10/12 4:34:35

一、as 关键字的使用

1、as 关键字的作用:给导入的模块取别名

import 测试1 as Test_1
import 测试2 as Test_2

Test_1.say_hello()
Test_2.say_hello()

二、if __name__ == '__main__'

1、作用

  • 测试当前模块所编写的代码块,根据业务自主选择需要运行的代码块。
  • 只有代码在当前脚本文件才会被执行,import到其他脚本中是不会被执行的。
def say_hello():
    print("你好")


if __name__ == '__main__':
    print("小明开发的模块")
    say_hello()

2、原理

如果在当前文件中执行的话

        __name__属性会变成__main__

如果在其他文件中执行的话

         __name__属性就不会等于__main__

三、包

1、包的概念

  • 包是一个包含多个模块的特殊目录
  • 目录下有一个特殊的文件__init__.py
  • 包的命名方式和变量名一直,小写字母加_

2、包的好处

  • 使用 import 包名 可以一次性导入包中的所有模块

3、包的使用方法

  1. 创建Python Package
  2. 在init文件中所需要的包
  3. 使用包时,导入包,就可以使用包中所有模块

4、注意事项

当init文件不加from . 时会报ModuleNotFoundError: No module named 'send_message'

原因:了解下import和from …import区别

import

(1)引用包
import引入的是包中根目录下__init__.py中的全部内容,包括其中的类、类内部的公有属性、类内部的公有方法、方法等内容.(该种方式导入包的本质就是执行__init__.py文件)

(2)引用模块
(该种方式导入模块的本质是将模块解释执行一遍,并赋值给tkinter: module_name = “module_name.py all code”)

===> import module_name —> module_name.py —> module_name.py的位置 —> sys.path(本质是一个列表)

from…import

(1)引用包
(from … import …引入的是在包中根目录下__init__.py和某个文件的内容)但是,我们知道,导入包是没有意义的,最终的目的是导入包下面的模块。(该种方式导入包)

(2)引用模块
(该种方式当如模块的本质是讲module_name.py文件掰开,把想要的部分放入当前文件执行一遍。)
 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

433MHz芯片在遥控应用市场中的优点

当涉及到简单的无线射频通信,433MHz芯片成为一种经济实惠且广泛应用的选择。以下是关于433MHz芯片的重点信息: 工作原理:433MHz芯片的工作原理是将数字信号转化为射频信号,并通过无线信道进行传输。在接收端,射频信号再…

关于Windows11系统,使用适用于Android的windows子系统 ,安装应用后无法连接网络的问题

–by 旧人旧梦旧时光 最近在使用win11自带的android模拟器时遇到了应用无法连接网络的问题,现在得到了解决,记录一下。 经过思考,发现是由于之前无意打开了这个选项,导致的应用无法连接网络,因此,把该选项…

Topaz Photo AI for Mac(AI人工智能降噪放大软件)

Topaz Photo AI是一款专业的照片处理软件,它利用深度学习和人工智能技术,提供了强大的图像增强和修复功能。无论你是想改善照片的质量,还是想给照片添加特效和艺术效果,Topaz Photo AI都能帮助你实现。 Topaz Photo AI还具备强大…

【uni-app】—3.新建一个uni-app项目

一、新建uni-app项目 1. 打开HBuilder X 2. 新建项目 3. 配置项目信息 4. 安装Sass 插件 (因为项目需要) 这里需要登录,自行用邮箱注册登录,再下载安装插件,安装完成如下 二、项目目录扩展 1. 初始化项目目录 2. 扩…

Grafana 图表配置快速入门

Grafana图表配置 文章目录 Grafana图表配置panel图表配置预览区数据设置区查询设置区转换设置区告警设置区 图表设置区Setting设置Visualization 可视化Display 显示Axes 轴legend 图例Thresholds 阈值 参考 panel图表配置 预览区:用来预览设置的图表。数据设置区&…

【数据分析入门】【淘宝电商API接入与电商数据分析】初识Web API(一)

今天开始我们将学习如何使用Web应用变成借口(API)自动请求网站到特定信息而不是整个网站,再对这些信息进行可视化。由于这样编写到程序始终使用最新到数据来生成可视化,因此即便数据瞬息万变,它呈现到信息也都是最新的。比如,我们…

算法训练营day48|动态规划 part09:打家劫舍(LeetCode 198.打家劫舍、213.打家劫舍II、337.打家劫舍 III)

文章目录 198.打家劫舍思路分析代码实现思考总结 213.打家劫舍II思路分析代码实现 337.打家劫舍 III思路分析代码实现思考总结 198.打家劫舍 题目链接🔥🔥 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响…

NSQ和KAFKA的使用入门

【nsq vs kafka】https://zhuanlan.zhihu.com/p/46421050 【kafka】https://juejin.cn/post/6844903495670169607 NSQ 分布式内存消息队列 优势: NSQ提倡分布式和分散的拓扑,没有单点故障,支持容错和高可用性,提供可高的消息交…

如何理解Java中的自动拆箱和自动装箱?

个人主页:金鳞踏雨 个人简介:大家好,我是金鳞,一个初出茅庐的Java小白 目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客&am…

亚运会:举办次数最多的是泰国,观众满意度衡量赛事成功情况

本文由群狼调研(长沙第三方评估)整理出品,欢迎转载,请注明出处。8日起至9月20日,杭州第19届亚运会火炬传递启动,杭州亚运会是放开后的首个盛会,亚洲的健儿齐集于此,同场竞技&#xf…

【C++入门】C语言的不足之处

概要 C入门主要讲的是C语言的一些不足,C作为补充,来补充C的不足之处 C的关键字有63个,C语言有32个(作为了解,不需要专门记) 变量的命名规则: 变量名必须以字母或下划线开头。变量名只能包含字…

httprunner环境变量

前言 我的上一篇文章讲了httprunner的基本介绍,这篇文章呢主要来给大家介绍httprunner中的环境变量。 一般来说,在进行实际应用的开发过程中,应用会拥有不同的运行环境,通常会有以下环境: 本地开发环境测试环境生产…

Flask狼书笔记 | 07_留言板

文章目录 7 留言板7.1 使用包组织代码7.2 Web开发流程7.3 使用Bootstrap-Flask7.4 Flask-Moment本地化日期和时间7.5 使用Faker生成虚拟数据7.6 Flask_DebugToolbar调试程序7.7 Flask配置的两种组织形式小结 7 留言板 这是一个简单的程序,涉及到的大部分是之前所学…

windows弹出交互式服务检测一键取消bat脚本

现象 脚本命令 新建一个bat文件,将下面的脚本拷贝进去,保存,双击即可 禁用服务:重启电脑的时候不会启动 停止服务:立即停止服务,马上生效的 sc config UI0Detect start disabled net stop UI0Detect

AQS同步队列和等待队列的同步机制

理解AQS必须要理解同步队列和等待队列之间的同步机制,简单来说流程是: 获取锁失败的线程进入同步队列,成功的占用锁,占锁线程调用await方法进入条件等待队列,其他占锁线程调用signal方法,条件等待队列线程进…

攻防世界题目练习——Crypto密码难度1(一)

题目目录 1. base642. Caesar3. Morse4. Broadcast5. hidden key6. [简单] 初识RSA7. 简单的LFSR8. baigeiRSA 1. base64 下载文件,打开是一个txt文件,解密工具base64解码,如图: 2. Caesar 打开文件看到字符如下: …

道一云·七巧对接打通金蝶云星空查询七巧表单接口与供应商新增接口

道一云七巧对接打通金蝶云星空查询七巧表单接口与供应商新增接口 数据源平台:道一云七巧 道一云七巧拥有强大的自定义表单设计工具,并配置工作流程,通过流程智能流转,打通各个业务场景中的审批、协作环节,包含数据采集单、任务单…

strlen函数使用与模拟实现【进阶版】

strlen函数使用与模拟实现 1.strlen函数介绍 资源来源于cplusplus网站 翻译过来的大致意思就是: 获取字符串长度 2.strlen的使用 int main() { //strlen - 求字符串长度的 //字符串的结束标志是\0 //strlen统计的是\0之前出现的字符的个数 //基本功能 char arr[]…

【送书活动】全网超50万粉丝的Linux大咖良许,出书了!

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄,vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…

母婴品牌的小红书投放策略有哪些,投放总结

最近有很多人想知道达人投放的一些相关知识,我们立马捕捉到了大家对这一干货内容的感兴趣程度,今天就来为大家分享下,母婴品牌的小红书投放策略有哪些,投放总结! 什么是达人投放? 达人投放是一种常用于社交媒体营销的…