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_ _ = [ "模块名" ]
导入包时可以使用的查找路径:
- 相对路径:从当前文件所在目录开始查找包
- 决定路径:从项目的根目录下开始查找包
小结如下:
