1.函数
1.1 函数定义
1.2 debug调试
1.3 模块
- 在Python 中,每个代码文件都可以称为是一个模块。
- 在模块中别人书写好的功能(变量,函数,类),我们可以拿来直接使用。
- 我们自己写的代码文件,想要作为模块让别人使用,必须你的代码文件名(模块名)满足标识符的规则。
- 想要使用别人模块中写好的功能,需要先导入别人写好的功能。
模块导入的方法
方式一
python
import 模块名 #模块名就是代码文件名,不要.py
# 要使用其中的功能,可以通过以下方式:
模块名.功能名
方式二
from 模块名 import 功能名 # 导入指定的功能
#使用
功能名()
1.4 name 变量
- name变量的特性
-
- 导入模块的时候,会执行模块中的代码。
- 作用:如果在导入模块的时候,模块中的部分代码不想被执行,可以使用_name_来解决。
- name变量的具体形式
-
- __name__变量,是Python解释器内置的变量(变量的值是自动维护的),每个代码文件中,都有这个变量。
- 在模块中直接右键运行代码文件,__name__变量的值是__main__。
- 如果是被导入运行代码文件,__name__变量的值是模块名(文件名)。
代码实例
if __name__ == '__main__':
#在这个if的缩进中书写的代码,导入的时候不会被执行
1.5 模块的导入顺序
步骤
-
- 在导入模块的时候,会先从代码所在的目录进行导入。
- 如果没有找到,会去Python系统的目录查找导入。
- 如果仍然没有找到,Python会报错。
注意事项
- 我们自己定义的代码文件名字不要和需要导入的系统模块的文件名一样,防止发生名称冲突,导致导入错误。
1.6 包的介绍
包: 将多个模块放在一个目录中集中管理,并在这个目录中创建一个__init__ .py文件(可以
什么都不写),就是一个包
Python模块的导入方式
Python有多种方式来导入模块,这里列举了三种常见的方式:
方式一
- 导入方式:使用import关键字导入整个包,然后通过点.运算符访问包中的特定模块。
import 包名.模块名
- 使用方式:使用包名,模块名和工具名,通过点.运算符进行连接使用。
包名.模块名.工具名
方式二
- 导入方式:使用from ... import ...语句导入特定的模块。
from 包名 import 模块名
- 使用方式:直接使用模块名和工具名,通过点.运算符进行连接使用。
模块名.工具名
方式三
- 导入方式:使用from ... import ...语句导入特定模块中的特定工具。
from 包名.模块名 import 工具名
- 使用方式:直接使用工具名进行操作。
工具名
1.7 range函数的补充
2.变量进阶
2.1 引用
- 定义变量的时候,变量和数据都会在内存开辟空间。
- 变量所对应的内存空间中存储的是数据所在内存的地址。我们通常说数据已经存储到了变量中。
- 变量中保存数据的地址,称之为是引用。
- 在Python 中,所有数据的传递都是通过引用(即地址)来实现的。
- Python 中的赋值运算符(=)会改变变量的引用,因此,只有使用=才能修改变量的引用。
- 我们可以通过使用id()函数来看到变量的引用,也就是查看某个变量中保存的数据所在的内存地址。
2.2 可变类型与不可变类型
根据内存中的数据是否允许修改,将数据类型分为可变类型与不可变类型。简单理解:不使用等号,能不能修改数据值。
可变类型:可以修改
以下是一些例子:
- 列表(list)
-
- 使用list.append( )方法修改列表
- 字典(dict)
-
- 使用dict.pop( )方法修改字典
- 集合(set)
不可变类型:不允许修改
以下是一些例子:
- 数字类型(int,float,bool)
- 字符串(str)
- 元组(tuple)
2.3 局部变量
在函数内部定义的变量,称为是局部变量
特点
- 局部变量,只能在当前函数内部使用。
- 可以在不同函数内定义名字相同的局部变量。
生命周期(使用范围)
- 在函数执行(调用)的时候被创建。
- 函数执行结束被销毁(删除)。