PYTHON学习-变量、参数

01.变量引用

变量数据都是保存在内存中的

在python中函数参数传递以及返回值都靠引用传递

1.1 引用概念

在python中

变量数据 是分开储存的

数据保存在内存的一个位置

变量中保存着数据在内存中的地址

变量记录数据的地址, 就叫引用

使用id()函数中可以查看变量中保存数据所在的内存地址

1.2 可变类型和不可变类型

列表和字典是可变类型:可变类型的数据变化是调用方法修改数据,并不会影响数据在内存地址

注:字典的key只能使用不可变类型的数据

哈希(hash)

hash函数接受一个不可变类型的数据作为参数

返回结果是一个整数

哈希是一种算法,作用是提取数据的特征码(指纹)相同的内容得到相同的结果。

 在python中,设置字典的键值对时,会对key进行hash用来决定如何在内存中保存字典的数据。

键值对的key必须是不可变数据类型,value可以是任意类型数据。

02.局部变量和全局变量

1.局部变量

局部变量是在函数内部定义的变量,只能在函数内部使用。

不同的函数,可以定义相同名字的局部变量,但是彼此之间不会产生影响。

2.全局变量

全局变量 是在函数外部定义的变量,所有函数内部都可以使用这个变量

在python中,不允许直接修改全局变量的值。

如果在函数中需要修改全局变量,需要使用 global 进行声明

注意:在开发时,应该把模块中的所有全局变量定义在所有函数上方,就可以保证所有的函数都能正常的访问到每一个全局变量了。

代码结构示意:
shebang

import模块

全局变量

函数定义

执行代码

全局变量命名:为了避免混淆,有一些公司会要求全局变量前应该增加g_或者gl_的前缀

03.函数参数和返回值

 函数根据 有没有参数、有没有返回值,可以相互组合,一共有4种组合方式

1.如果函数 内部处理的数据不确定,就可以将外界的数据以参数传递到函数内部。

2.如果希望一个函数 执行完后,向外界汇报执行结果,就可以增加函数返回值。

04.不可变和可变的参数

只要针对函数使用赋值语句,会在函数内部修改局部变量的引用,不会影响到 外部变量的引用。

缺省参数:定义函数时,可以给某个参数指定一个默认值,具有默认值的参数叫做缺省参数。

将很常见的值设置为参数的缺省值,从而简化函数的调用,例如,对列表排序的方法,reverse的默认值为False,需要降序排序时,reverse = True

提示:(1)在指定缺省参数的默认值时,应该使用最常见的值
为默认值!
(2)必须保证带有默认值的缺省参数 在列表参数末尾,以下是错误的
def info(name, gender=True, title)

(3)调用函数时,如果有多个缺省参数,需要指定函数名,这样解释器才能知道参数的对应关系。

def info(name, ,title=“ ”,gender=True)

info("小明",gender=True)

05.多值参数

有时候可能需要一个函数 能够处理的参数个数不确定,这时候可以使用多值参数

第一种:在参数名前面增加一个* 可以接受元组

第二种:在参数名前面增加两个*可以接收字典

一般给多值参数命名时,习惯使用下面两个名字

       1.*args--存放 元组 参数,

       2.**kwargs--存放 字典 参数

args是arguments的缩写,有变量的含义,kw是keyword的缩写,kwargs可以记忆 键值对参数。

06.元素和字典的拆包:

元组变量/字典变量传到函数内部时,需要拆包
def demo(*args, **kwargs):
gl_nums = {1, 2, 3}
gl_dict = {"name": "小明", "age": 18}
demo(*gl_nums, **gl_dict)  # 使用拆包语法,简化元组变量/字典变量传递

07.函数递归

个函数内部调用自己

特点:1.函数内部的代码是相同的,知识针对参数不同,处理的结果不同

2.当参数满足一个条件时,函数不再执行!(否则陷入死循环)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python LSTM多变量预测是指使用Python编写LSTM(长短期记忆神经网络)算法来进行多个变量的预测。LSTM算法是一类特殊的神经网络,可以对时间序列数据进行建模,并且能够很好地捕捉到数据之间的长期依赖关系。 在Python中,可以通过使用Tensorflow、Keras、PyTorch等深度学习框架来构建LSTM模型。多变量预测需要输入多个变量,如时间、气温、湿度、气压等。这些变量需要先进行数据预处理,包括缺失值填充、归一化处理、数据平滑等。 在构建多变量LSTM模型时,需要注意的是输入数据应该具有良好的平稳性,即具有稳定的均值和方差,并且需要进行训练和测试集的划分,防止模型过拟合。 预测结果可以通过绘制时间序列图来进行可视化展示,并且可以使用各种性能指标来评估预测准确度,如均方根误差(RMSE)、平均绝对误差(MAE)等。 总之,Python LSTM多变量预测是一种有效地处理时间序列数据并预测多个变量的方法,具有广泛的应用价值。 ### 回答2: Python中的LSTM模型是深度学习在时序预测中的常用方法。它可以用于多个变量的预测。多变量预测模型需要输入和输出的变量保持一致,以便进行有效的训练和预测。 为构建多变量预测模型,需要对数据进行预处理和特征工程。预处理过程包括数据清洗、缺失值处理和变量标准化等步骤。在特征工程中,需要提取有效的特征,例如滞后特征和移动平均特征。提取好的特征可以应用到多变量的LSTM预测模型中。 对于多变量的LSTM预测模型,需要将输入的数据分为多个特征组件和一个输出组件。每个组件都是一个特定的变量或特征。在模型训练中,需要将每个组件独立训练。在预测时,需要将各个组件合并起来来得到最终的预测值。 要正确设置LSTM模型的超参数,并进行自适应优化,以便获得更好的预测结果。如果调整不当,可能会导致模型过拟合或欠拟合,影响预测效果。 总之,多变量预测的LSTM模型是一种强大的工具,可以解决各种时序预测问题。它需要合理的数据预处理、特征提取和模型调整,以获得最佳的预测效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值