4.1 模块概述

1.Python结构

        工程 > 包 > 模块

        Python工程: “Python项目中最大的文件夹(本质就是一个文件夹)” --- 左侧的 CODE文件夹 为Python工程

        Python包: 本质就是一个文件夹,但是python包中具备具体的标识,如果没有标识则不能导入 --- 左侧的 01.Python基础 文件夹为python包

        Python模块: 每一个 .py 文件 --- 左侧的 1.1 变量.py 为Python模块

        2.Pytho包:

            特征:内部包含一个初始文件,文件名为: __init__.py     (双下划线)

       

        3.Pytho模块的分类:

            >.内置模块  Python解释器自带的  (random/math/date/funtools)

            >.自定义模块    自己写的所有.py文件

            >.第三方模块    必须通过外网下载才能导入

                PythonWeb开发: django/flask

                数据分析: pandas/numpy

                人工智能: sekitlearn

        4.导入模块

            -导入包

                import 包名

#导入包

import test_package     #导入Python包-导入模块方法一:import 包名.模块名 as 别名              该语句会将指定包下的模块导入到当前命名空间#   包名.模块名     使用时同样需要 包名.模块名 的形式来调用print("------------------------------导入模块1")import test_package.Hello1test_package.Hello1.show()           #wzw:12345#起别名 as ---print("------------------------------as")import test_package.Hello1 as hellohello.show()方法二:                                            前提:导入的模块要和当前空间同级import 模块名 as 别名                           此语句可以将整个模块导入到当前命名空间中

直接导入模块名      导入的模块必须和当前命名空间同级

import Hello2

Hello2.show()

方法三:                                                

                    from 包名1.子包名2.... import 模块名 as 别名            允许你从模块中导入特定的函数、类或变量到当前命名空间。导入后,使用时无需加模块名前缀。'''#   form 包名.子包名 import 模块名      从包中去导入一个模块, 运用最广from test_package import Hello1Hello1.show()                           #此方式是将 Hello1 模块整个导入到当前命名空间from test_package.Hello1 import showshow()                                 #此方式是从 Hello1 模块中仅导入 show 函数到当前命名空间from Hello2 import showshow()            #yst:6789    在 Hello2 中调用




5. __init__.py 文件的用法

        当包被导入时,__init__.py 中的代码会自动执行,常用于:

            >.定义包的公共接口

            >.初始化全局变量或配置

            >.执行包级别配置(如日志初始化)

'''

print(test_package.USERNAME)        #WangZhaoWei


 

test_package.test_connect_mysql()               # mysql数据库已连接....       连接数据库的函数


 

    6.动态导入包

        - import 导入模块原理:使用了内置函数 __import__()

#第一种方式 -- 不建议module_name = "random"          #将 random随机数库值传递给module_nameres = __import__(module_name)print(res.randint(1,50))            #在1-50中随机打印一个数字#第二种方式:导入动态导入的库import importlibmodule_name = "math"            #值传递 将math内置数模块传递给module_nameres = importlib.import_module(module_name)print(res.pi)               #3.141592653589793 打印出圆周率近似值


 

    7.导入模块占用内存问题

        无论导入多少次同一模块,都只占用同一内存地址

#测试导入模块内存问题import math as m1import math as m2import math as m3           #导入三次math比较其地址print(m1 is m2)     #Trueprint(m1 is m3)     #True       证明同一模块只会占用同一块地址

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

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

相关文章

AJAX 实例

AJAX 实例 引言 Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术。Ajax通过在后台与服务器交换数据,实现了页面的动态更新,从而提高了用户体验和…

相机的基础架构

📷 相机相关基础架构学习路径 一、了解手机相机系统架构 Android Camera HAL(如果你是做 Android 平台) 学习 Camera HAL3 架构(基于 camera_device_t, camera3_device_ops 接口) 熟悉 CameraService → CameraProvid…

MLX Chat - 基于 Streamlit 的 MLX 前端界面

本文翻译整理自:https://github.com/da-z/mlx-ui 一、关于 MLX Chat 一个基于 Streamlit 的简单 UI/网页前端,用于 MLX mlx-lm 项目。 相关链接资源 github : https://github.com/da-z/mlx-uiMLX 社区模型库:https://huggingface.co/mlx-co…

el-table 自定义列、自定义数据

一、对象数组格式自定义拆分为N列 1-1、数据格式: const arrayList ref([{"RACK_NO": "A-1-001"},{"RACK_NO": "A-1-002"},{ "RACK_NO": "A-1-003"},//省略多个{"RACK_NO": "A-1-100…

JVM 如何使用性能分析工具定位代码中的性能问题?

核心思想: 通过工具观察程序在特定负载下的运行状态,识别消耗资源最多的代码段(热点代码)、异常的内存分配模式或线程阻塞情况,然后针对性的优化代码。 通用步骤: 确定问题: 首先明确遇到了什…

Python虚假新闻检测识别

程序示例精选 Python虚假新闻检测识别 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《Python虚假新闻检测识别》编写代码,代码整洁,规则,易读。 学习与应…

网络原理 - 12(HTTP/HTTPS - 3 - 响应)

目录 认识“状态码”(status code) 200 OK 404 Not Found 403 Forbidden 405 Method Not Allowed 500 Internal Server Error 504 Gateway Timeout 302 Move temporarily 301 Moved Permanently 418 I am a teaport 状态码小结: …

Spring Boot中集成Guava Cache或者Caffeine

一、在Spring Boot(1.x版本)中集成Guava Cache 注意&#xff1a; Spring Boot 2.x用户&#xff1a;优先使用Caffeine&#xff0c;性能更优且维护活跃。 1. 添加依赖 在pom.xml中添加Guava依赖&#xff1a; <dependency><groupId>com.google.guava</groupId&…

Linux工作台文件操作命令全流程解析

全文目录 1 确认当前工作路径2 导航与目录管理2.1 关键命令2.2 逻辑衔接 3 文件基础操作3.1 创建 → 备份 → 重命名 → 清理3.2 文件查看和编辑3.3 文件链接3.4 文件diff 4 文件权限与所有权管理5 文件打包与归档6 参考文献 写在前面 shell是一种命令解释器&#xff0c;它提供…

LeetCode第183题_从不订购的客户

LeetCode 第183题&#xff1a;从不订购的客户 题目描述 表: Customers ---------------------- | Column Name | Type | ---------------------- | id | int | | name | varchar | ---------------------- id 是该表的主键。 该表包含消费者的 id 和…

c语言的常用关键字

c语言的常用关键字 c语言的关键字表示数据类型的关键字autocharfloatdoubleintlongshortvoidsignedstruct、enum、unionunsigned 表示分支语句的关键字ifelseswitchbreakcasecontinuedefault 表示循环语句的关键字whiledoforgoto 用于修饰变量或函数的关键字constconst修饰变量…

MCU通用输入输出端口(GPIO)设计指南

在嵌入式系统开发中&#xff0c;MCU的GPIO接口是一个基础但非常实用的功能模块。GPIO全称是通用输入输出端口&#xff0c;它让MCU可以灵活地与外部设备进行交互。 GPIO的主要特点包括&#xff1a; 多功能性&#xff1a;每个引脚都可以单独配置为输入或输出 可编程性&#xff…

STM32完整内存地址空间分配详解

在STM32这类基于ARM Cortex-M的32位微控制器中&#xff0c;整个4GB的地址空间(从0x00000000到0xFFFFFFFF)有着非常系统化的分配方案&#xff0c;每个区域都有其特定的用途。下面我将详细介绍这些地址区域的分配及其功能&#xff1a; STM32完整内存地址空间分配详解(0x00000000…

实现水平垂直居中的多种方法

在前端开发中&#xff0c;元素的居中是一个常见但又经常让人头疼的问题。本文将全面总结各种CSS居中方法&#xff0c;特别是如何实现一个div的水平垂直居中。 为什么居中这么重要&#xff1f; 居中布局是现代网页设计中最基础也最重要的布局方式之一。无论是导航菜单、登录框…

如何实现服务的自动扩缩容(Auto Scaling)

在云计算和分布式系统的时代,系统的弹性和适应性已成为企业构建高效IT基础设施的核心需求。自动扩缩容(Auto Scaling)作为一种关键技术,旨在根据实时负载变化动态调整计算资源,以确保系统性能稳定,同时优化资源利用效率。简单来说,自动扩缩容是指系统能够根据预设规则或…

uniapp+vue3+ts 使用canvas实现安卓端、ios端及微信小程序端二维码生成及下载

加粗样式uniapp多端生成带二维码海报并保存至相册的实现 在微信小程序开发中&#xff0c;我们常常会遇到生成带有二维码的海报并保存到手机相册的需求&#xff0c;比如分享活动海报、产品宣传海报等。今天就来和大家分享一下如何通过代码实现这一功能。 准备工作 在开始之前&am…

架构师面试(三十八):注册中心架构模式

题目 在微服务系统中&#xff0c;当服务达到一定数量时&#xff0c;通常需要引入【注册中心】组件&#xff0c;以方便服务发现。 大家有没有思考过&#xff0c;注册中心存在的最根本的原因是什么呢&#xff1f;注册中心在企业中的最佳实践是怎样的&#xff1f;注册中心的服务…

Day.js和Moment.js对比,日期时间库怎么选?

在JavaScript的日期处理库中&#xff0c;Moment.js 和 Day.js 是两个非常流行的选择。本文将基于从npmtrends的数据&#xff0c;对这两个库进行详细的对比分析。 Moment.js的重度使用者。凡是遇到时间和日期的操作&#xff0c;就把Moment.js引用上。 直到有天我发现加载的mome…

罗默如何用木星卫星“宇宙钟表”测量光速?

一、17世纪的“宇宙级实验” 1676年&#xff0c;丹麦天文学家奥勒罗默&#xff08;Ole Rmer&#xff09;在巴黎天文台做出惊人发现&#xff1a; 木星卫星的“迟到早退”现象&#xff0c;竟能揭示光速的秘密&#xff01; 通过观察木卫一&#xff08;Io&#xff09;的轨道周期变…

deepseek 技巧整理

1、导出word 和excel 功能&#xff0c;在使用以下提示词。 请帮我列出减肥期间可以吃的水果&#xff0c;并分析该水果含有的营养元素&#xff0c;以表格的形式星现。1.要以html的方式输出 2.要可以直接运行 3.页面要提供可以直接下载word和excel功能