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

python的模块和包

模块1在python里一个.py文件就是一个模块module)2模块可以包含变量函数方法等许多内容3通常把能够实现特定功能的代码集中放在一个模块里4模块可以提高代码的维护性复用性还可以避免命名冲突注意事项1模块命名要符合规范2模块名区分大小写3不要与标准模块库同名一旦同名优先引入标准模块库模块分为标准模块库内置自定义模块第三方模块自定义模块timeout 180 ​ def wechat_pay(): print(这是微信支付) def ali_pay(): print(这是支付宝支付) def show_info(): print(这是支付板块提示) ​ print(__name__) ​ max_order_count 10000 ​ def create_order(): print(订单打开提示) def close_order(): print(订单关闭提示) def show_info(): print(这是订单模块提示) ​ print(__name__) __all__ [max_order_count,create_order,close_order,show_info] print(__all__) ​导入模块# 导入模块一这种方法会导入模块里的全部内容。也被称为全部导入也是最简单的 # python导入模块会执行模块中代码 # 模块只加载一次后续再导入直接缓存 import order import pay print(order.max_order_count) order.create_order() order.close_order() order.show_info() pay.wechat_pay() pay.ali_pay() pay.show_info() ​ #导入模块2import模块as别名 import order as ml import pay as zf print(ml.max_order_count) ml.create_order() ml.close_order() ml.show_info() zf.wechat_pay() zf.ali_pay() zf.show_info() ​ #导入模块3from模块名import具体内容具体内容。。。 from order import max_order_count,create_order,close_order,show_info from pay import wechat_pay,ali_pay,show_info print(max_order_count) create_order() close_order() show_info() wechat_pay() ali_pay() show_info() ​ #导入模块4from 模块名import具体内容as别名具体内容as别名 from pay import show_info as s1,timeout as to,wechat_pay as wechat from order import show_info as s2,max_order_count as max_count,create_order as create s1() s2() wechat() print(to) create() print(max_count) ​ #导入模块5 from 模块名 import * from order import * from pay import * print(timeout) print(max_order_count) create_order() close_order() show_info() wechat_pay() ali_pay() ​ #可以通过from 模块名 import * 能够导入那些内容 #__all__的值可以是列表也可以是元祖里面元素具体的值必须是字符串 #__all__ [max_order_count,create_order,close_order,show_info] __all__ (max_order_count,) ​ #__name__是每个python模块.py文件都具有的一个内置变量 print(__name__)标准模块库随着Python一起安装在我们电脑里的模块有一些模块底层实现是使用c语言import copy #拷贝对象 import os #系统操作相关的 import random #随机数相关的 print(copy.__file__) ​ import time #时间相关的 import math #数学方法相关的 import sys #python解释器相关的 # 创建文件夹 # os.mkdir(one) ​ # 随机选择 names [阿杰,董小姐,玉鹏,赵卿,水哥] print(random.choice(names)) print(names) random.shuffle(names) print(names) print(1) # 休眠 # time.sleep(2) print(2) # 获取当下的时间 print(time.strftime(%H:%M:%S)) print(time.strftime(%I:%M:%S)) print(time.strftime(%p %I:%M:%S)) ​ # print(math.sqrt(4)) print(math.fabs(-11.2)) ​ # print(sys.version)包1包是一种组织模块的方式包里面可以包含各种模块子包其他资源2在python里包含init.py的文件就是一个包3会把某个特定功能相关的所有模块放在一个包里4可以提高代码的维护性复用性方便管理大型项目包和模块的关系1一个.py就是一个模块包是用来管理模块的文件2一个包可以有多个模块也可以有多个子包包分为标准库包自定义包第三方包导入包#1导入包 import 包名.模块名 import shop.order import shop.pay shop.order.create_order() shop.pay.ali_pay() print(shop.order.max_order_count) print(shop.pay.timeout) ​ #2导入包 import 包名.模块名 as 别名 import shop.order as dd import shop.pay as zf dd.close_order() zf.wechat_pay() print(dd.max_order_count) print(zf.timeout) ​ #3导入包 from 包名.模块名 import 具体内容1,具体内容2 from shop.order import max_order_count,close_order,show_info from shop.pay import wechat_pay,timeout,show_info print(max_order_count) close_order() wechat_pay() print(timeout) show_info() ​ #4导入包 from 包名.模块名 import 具体内容1 as 别名,具体内容2 as 别名 from shop.order import max_order_count as max,close_order as close,show_info as show1 from shop.pay import wechat_pay as wx,timeout as t,show_info as show2 print(max) close() wx() print(t) show1() show2() ​ #5导入包 from 包.模块 import * from shop.pay import * from shop.order import * print(timeout) wechat_pay() ali_pay() print(max_order_count) ​ 36导入包 from 包 import 模块名 from shop import order,pay order.close_order() print(order.max_order_count) print(pay.timeout) pay.ali_pay() ​ #7导入包 from 包 import 模块名 as 别名模块名 as 别名 from shop import order as o,pay as p o.close_order() print(o.max_order_count) print(p.timeout) p.ali_pay() ​ from shop.hello.one import say_hello from shop.hello.one import * say_hello() print(num)

相关文章:

python的模块和包

模块:1:在python里一个.py文件就是一个模块(module)2:模块可以包含:变量,函数,方法等许多内容3:通常把能够实现特定功能的代码,集中放在一个模块里4:模块可以…...

STM32F407硬件COM事件实战:六步换相避坑指南(附CubeMX配置)

STM32F407硬件COM事件六步换相实战:从CubeMX配置到避坑指南 在无刷电机控制领域,六步换相是最基础也最关键的环节之一。传统软件换相方式存在PWM通道更新不同步的痛点,而STM32F407的硬件COM事件功能恰好能完美解决这个问题。本文将带您深入实…...

同学花200降AI我花50就搞定了差在哪

我室友处理论文AI率花了200多块,我同样的工作量只花了52元,最终效果差不多。 她不是被宰了,是走了一些弯路。这篇文章说说差距在哪里,以及怎么在50元左右搞定降AI率。 室友的200元是怎么花出去的 室友的论文约1.5万字&#xff…...

从星链到遥感卫星:工程师视角下的轨道摄动实战避坑指南

低轨星座与遥感卫星的轨道摄动实战:工程师避坑手册 当SpaceX的星链卫星以每分钟一颗的速度被发射入轨,当高分系列遥感卫星的成像精度突破亚米级,轨道摄动这个曾经只存在于教科书中的概念,正在成为每个航天工程师的日常挑战。不同…...

比话降AI和嘎嘎降AI哪个好知网用户怎么选

比话降AI和嘎嘎降AI是2026年降AI率工具里被讨论最多的两款。两款都有真实用户实测数据,都有退款保障,都不是"交学费型"的工具。 但它们不一样,适合不同的人。 这篇文章专门从知网用户的角度来对比,说清楚什么情况选比…...

Zynq Linux FPGA Manager实战:5分钟搞定PL配置(含bit转bin避坑指南)

Zynq Linux FPGA Manager实战:5分钟搞定PL配置(含bit转bin避坑指南) 第一次在Zynq开发板上尝试配置PL逻辑时,我盯着Vivado生成的.bit文件发愁——官方文档里提到的PCAP、ICAP协议像天书一样,而网上各种教程要么步骤不全…...

【Word排版】制表位实战:从入门到精通

1. 制表位到底是什么?为什么比空格更好用? 第一次用Word排简历时,我盯着参差不齐的工作经历栏发愁——明明按了20次空格键,为什么第二行的日期还是对不齐?直到同事教我按住Tab键,所有内容突然像军训列队般整…...

软考系统分析师必看:数据库设计3大坑点与实战避坑指南(附案例分析)

软考系统分析师数据库设计实战:三大核心陷阱与高阶避坑策略 数据库范式应用的典型误区与修正方案 在航空订票系统的数据库设计中,开发团队曾将机票代理关系模式设计为(代理商编号,航班编号,代理商名称,客…...

告别写死地址!CH32V IAP升级实战:用函数传参实现APP跳转地址的动态配置

CH32V IAP升级进阶:动态跳转地址的工程实践与安全设计 在嵌入式开发中,IAP(In-Application Programming)技术是实现固件远程更新的重要手段。对于CH32V系列RISC-V MCU而言,官方示例中"写死"跳转地址的做法虽…...

国产化服务器上,手把手教你用TongHttpServer V6.0搭建静态资源站(含麒麟/统信系统适配指南)

国产化环境实战:TongHttpServer V6.0静态资源站部署全攻略 在信创产业快速发展的背景下,国产化软硬件生态已逐步成熟。对于需要在国产CPU和操作系统环境中部署Web服务的工程师而言,选择一款性能优异且兼容性良好的国产Web服务器软件至关重要。…...

TDOA定位算法在工业4.0中的关键应用解析(2025年更新)

1. TDOA定位算法如何重塑工业4.0生产线 想象一下,在一个现代化的汽车工厂里,几十台焊接机器人正在流水线上精准作业,数百辆AGV小车穿梭运送零件,而它们之间始终保持5厘米的安全距离——这种零碰撞、高效率的协作背后,正…...

新手避坑指南:51单片机驱动ADC0809的五个常见问题及解决方法(附Proteus调试技巧)

51单片机与ADC0809实战避坑手册:从仿真异常到显示优化的全流程解析 第一次在Proteus里搭建51单片机驱动ADC0809的仿真环境时,看着屏幕上跳动的乱码和永远为零的电压读数,我盯着电路图反复检查了三遍引脚连接——所有线序明明完全正确。这种挫…...

HTML 开发 - HTML 描述列表标签(<dl>、<dt>、<dd>)

HTML 描述列表标签 1、基本介绍在 HTML 中&#xff0c;<dl>、<dt>、<dd> 标签用于创建描述列表&#xff08;Description List&#xff09;描述列表是一种专门用于展示 术语 - 描述 或 名称 - 值 对结构的语义化标签标签说明<dl>Description List&#…...

别再折腾LangChain了!用Ollama + DeepSeek R1在WSL2上5分钟搞定本地知识库问答

5分钟极简方案&#xff1a;用OllamaDeepSeek R1在WSL2搭建高效本地知识库 当开发者首次接触本地知识库系统时&#xff0c;往往会被LangChain等框架的复杂性劝退。本文将介绍一种绕过传统复杂流程的极简方案&#xff0c;只需5分钟即可在Windows 11的WSL2环境中搭建可用的问答系统…...

3大突破!零基础用开源表盘工具创作专业级小米手表表盘

3大突破&#xff01;零基础用开源表盘工具创作专业级小米手表表盘 【免费下载链接】Mi-Create Unofficial watchface creator for Xiaomi wearables ~2021 and above 项目地址: https://gitcode.com/gh_mirrors/mi/Mi-Create 如何突破官方表盘千篇一律的设计限制&#x…...

在Windows上直接安装APK的5分钟终极指南:告别模拟器的快速解决方案

在Windows上直接安装APK的5分钟终极指南&#xff1a;告别模拟器的快速解决方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 您是否厌倦了笨重的Android模拟器&#…...

3步搞定国标视频监控:WVP-GB28181-Pro让你告别设备兼容烦恼

3步搞定国标视频监控&#xff1a;WVP-GB28181-Pro让你告别设备兼容烦恼 【免费下载链接】wvp-GB28181-pro 基于GB28181-2016、部标808、部标1078标准实现的开箱即用的网络视频平台。自带管理页面&#xff0c;支持NAT穿透&#xff0c;支持海康、大华、宇视等品牌的IPC、NVR接入。…...

ESP8266 wroom_02 AT固件烧录全攻略:从工具选择到同步下载问题解决

1. ESP8266 wroom_02模块与AT固件基础认知 第一次接触ESP8266 wroom_02模块的朋友可能会被各种专业术语搞晕。简单来说&#xff0c;这个火柴盒大小的模块就是物联网设备的"大脑"&#xff0c;而AT固件则是让它听懂人类指令的"语言系统"。我当年第一次用这个…...

内网环境下基于Verdaccio搭建企业级npm私服及自动化依赖包管理实践

1. 为什么企业需要搭建npm私有仓库 最近几年在前端工程化领域&#xff0c;npm已经成为不可或缺的依赖管理工具。但对于企业级开发团队来说&#xff0c;直接使用公共npm仓库会遇到几个棘手问题&#xff1a; 第一是网络隔离问题。很多金融、政务类项目开发环境都是完全离线的内网…...

CodeSys随机数生成实战:从GPS通信验证到实验作业的完整代码解析

CodeSys随机数生成实战&#xff1a;从GPS通信验证到实验作业的完整代码解析 在工业自动化领域&#xff0c;随机数生成看似是个小众需求&#xff0c;直到你遇到需要模拟设备故障、生成验证码或创建随机测试场景时才会发现它的重要性。CodeSys作为工业控制领域的"瑞士军刀&…...

油猴插件开发必备:VSCode中高效使用Tampermonkey API的10个技巧

油猴插件开发必备&#xff1a;VSCode中高效使用Tampermonkey API的10个技巧 在浏览器扩展开发领域&#xff0c;Tampermonkey&#xff08;油猴&#xff09;以其轻量级和灵活性赢得了大量开发者的青睐。作为一款用户脚本管理器&#xff0c;它允许开发者通过JavaScript快速定制网页…...

图像质量评估三剑客:MSE、PSNR与SSIM的实战对比与优化策略

1. 图像质量评估的基本概念与挑战 在数字图像处理领域&#xff0c;评估图像质量是一个看似简单实则复杂的问题。想象一下&#xff0c;当你用手机拍摄照片后&#xff0c;如何判断这张照片的质量好坏&#xff1f;或者当你在Photoshop中调整图像参数时&#xff0c;如何量化调整前后…...

告别编译报错!Ubuntu 22.04 LTS下x264库的保姆级安装指南(含configure参数详解)

告别编译报错&#xff01;Ubuntu 22.04 LTS下x264库的保姆级安装指南&#xff08;含configure参数详解&#xff09; 在视频处理领域&#xff0c;x264作为开源的H.264编码器实现&#xff0c;因其出色的压缩效率和画质表现&#xff0c;成为FFmpeg等多媒体工具链的核心组件。然而对…...

茉莉花插件:5分钟快速上手Zotero中文文献智能管理终极指南

茉莉花插件&#xff1a;5分钟快速上手Zotero中文文献智能管理终极指南 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件&#xff0c;用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 还在为处理…...

收藏备用!小白程序员必看:从基础到进阶,彻底吃透Prompt与提示工程

本文将从基础入门到进阶实操&#xff0c;全面拆解Prompt的核心知识点&#xff0c;涵盖概念定义、分类维度、核心要素、工作原理&#xff0c;以及可直接套用的实用提示工程方法。全程避开晦涩术语&#xff0c;用程序员易懂的表述搭配具体案例&#xff0c;适配刚接触大模型的小白…...

从JDK21降到17:2025版IDEA搭建苍穹外卖项目,我踩过的那些版本坑

从JDK21降到17&#xff1a;2025版IDEA搭建苍穹外卖项目实战避坑指南 当你用最新版IDEA 2025和JDK 21打开一个要求JDK 17的项目时&#xff0c;就像穿着高跟鞋去爬山——不是不行&#xff0c;但绝对会走得很辛苦。最近在搭建苍穹外卖项目时&#xff0c;我就深刻体会到了这种&quo…...

颠覆视频剪辑:JianYingApi让自动化剪辑效率提升80%

颠覆视频剪辑&#xff1a;JianYingApi让自动化剪辑效率提升80% 【免费下载链接】JianYingApi Third Party JianYing Api. 第三方剪映Api 项目地址: https://gitcode.com/gh_mirrors/ji/JianYingApi 在短视频内容爆发的时代&#xff0c;视频创作者面临着三重核心痛点&…...

保姆级教程:用Arduino IDE给你的ESP8266写个‘网络诊断’程序,一键排查连接问题

ESP8266网络诊断工具开发实战&#xff1a;从被动排错到主动分析 当你盯着串口监视器里不断滚动的"Connecting..."字样&#xff0c;而ESP8266始终无法连上WiFi时&#xff0c;是否想过——我们本可以做得比盲目重试更聪明&#xff1f;本文将带你开发一个会"思考&q…...

OpenClaw多账户管理:Kimi-VL-A3B-Thinking不同项目的环境隔离方案

OpenClaw多账户管理&#xff1a;Kimi-VL-A3B-Thinking不同项目的环境隔离方案 1. 为什么需要多账户环境隔离 上周我同时处理三个项目时遇到了一个尴尬场景&#xff1a;个人博客自动发布脚本误读了工作项目的敏感数据&#xff0c;导致草稿内容错乱。这次事故让我意识到——当O…...

Windows环境下Android应用的跨平台解决方案:高效部署与管理指南

Windows环境下Android应用的跨平台解决方案&#xff1a;高效部署与管理指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 在Windows环境中部署Android应用通常面临模…...