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

Python学习第 5 日

1.类型注解

1.1 类型注解

类型注解是 Python 中的一种语法特性,用于明确标识变量,函数参数和返回值的数据类型,从而使代码更清晰,更安全,更易维护

1.2 类型推断

类型推断是指 Python 解释器自动推断出变量,表达式或者函数返回值的数据类型的能力,而无需开发者显式声明

注意:

  • 对变量进行直接赋值,或者涉及到变量的运算,容器的推导等场景时,解释器会自动推导出变量的类型
  • 类型注解只是起到语法提示作用,并不会直接影响程序运行的结果

1.3 小结

1.4 函数的类型注解

为函数添加类型注解,其实主要就是为函数的参数和返回值添加类型注解,语法如下:

注意:使用函数时类型推断依然有效,不过要求在定义时给形参赋默认值以及在输出时进行一些操作

2.模块

2.1 模块介绍

Python 模块(module):一个 .py 文件就是一个模块,模块是 Python 程序的基本组织单位。在模块中可以定义变量,函数,类,以及可执行的代码

2.2 导入模块

在使用模块中提供的功能之前,必须得先导入,再使用。

每个模块内有多个功能:

导入模块的具体语法如下:

小结:

2.3 自定义模块

当开发一些复杂的项目,为了项目结构更加清晰,更便于项目的维护管理及代码的复用,可能会把一个项目拆分为若干模块

注意:每一个 Python 文件都可以作为一个模块,模块的名字就是文件的名字(建议使用 Python 标识符定义,规范命名)

2.3.1 _ _name__变量

_ _name_ _ :Python中内置变量,表示当前模块的名字

  • 在当前模块内运行时,_ _name_ _的值为 "_ _main_ _"
  • 当在其他模块导入该模块运行时,_ _name_ _的值为 "_ _模块名_ _"

因此可以通过 _ _name_ _变量来实现导入模块时避免该模块运行的功能

2.3.2 _ _all_ _变量

_ _all_ _是一个模块级别的特殊变量,用于指定 from 模块名 import * 时会导入哪些功能(即 * 通配了哪些功能)

其用法如下:在定义模块时

注意:_ _all_ _控制的是 from ... import * 时,要导入的功能,并不会影响直接导入具体的功能(如:from ... import 功能)

2.3.3 小结

3.软件包(package)

包:本质就是一个文件夹,该文件夹中可以包含若干 python 模块(.py文件),文件夹下还包含了一个_ _init_ _.py

作用:模块文件较多时,用来管理多个模块(包的本质也是一个模块)

包的导入方式:

注意:如果要通过from 包名 import *来导入包下的所有模块,需要在包的 _ _init_ _.py文件中添加 _ _all_ _ = [ "模块名" ]

导入包时可以使用的查找路径:

  • 相对路径:从当前文件所在目录开始查找包
  • 决定路径:从项目的根目录下开始查找包

小结如下:

http://www.jsqmd.com/news/1325160/

相关文章:

  • 百度网盘提取码智能查询:3分钟快速获取网盘资源的完整方案
  • 构建AI智能体工作流:从自动化到人机共生的实战指南
  • Spring框架核心原理与实战优化指南
  • 使用Ventoy制作Linux+Windows PE全能启动盘:一盘搞定系统安装与维护
  • Display Driver Uninstaller:3步彻底解决显卡驱动残留问题
  • Unity跨平台输入系统实战:从零构建PC、移动、主机三端通用角色控制器
  • 为什么手机上录的视频在电脑上播是“躺着的“?聊聊移动端视频优化
  • UE4蓝图开发:基于TileView构建可复用背包UI组件的完整指南
  • 制造业转型难在哪?数字孪生给出了新答案
  • 多Agent协作实战
  • Java 新特性 - Java 文本块、Record 类、instanceof 模式匹配、Switch 表达式增强
  • Unity渲染优化:DrawCall、Batch与SetPassCall核心概念与性能优化实战
  • N_m3u8DL-CLI-SimpleG技术解析:WPF封装层与流媒体下载架构设计
  • OpenClaw v2026.3.24 全链路稳定性升级:从模型调用到通讯集成的深度优化
  • Linux新手速成指南:从零到精通的20个核心命令与实战场景
  • Unity URP 7.7.1实战:5分钟实现自定义扭曲特效
  • LS-DYNA霍普金森压杆动态劈裂仿真技术详解
  • 2026年四款变声器真实测评:音质自然,音色好
  • 简单说说聚合路由器
  • 国行 Apple Intelligence 获批:苹果 AI 落地中国,隐私与本地化成为关键词
  • Python在电磁测量数据处理中的int类型应用与优化
  • SpringBoot启动参数全解析:从JVM调优到K8s部署实战
  • WorkshopDL深度解析:跨平台Steam创意工坊模组下载解决方案
  • CST与Matlab联合仿真在超表面设计中的实践
  • 基于RAG与LLM的对话决策摘要系统:从海量会议到精准行动
  • 软件设计的一些感想
  • AI工程化实战:基于Hermes Agent与Claude Code构建企业级开发智能体
  • 品类解释权的系统化建设:问题框架、比较维度与证据门槛
  • CNN新闻精听实战:10分钟高效提升英语听力的系统化方法
  • C++预处理器指令详解与应用实践