十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
题主好. 如果不用 return, 我们可以选择利用传递参数的引用来『把值送出来』, 但这样只能针对不变对象, 如字典, 列表, numpy 数组等等. 例如我们可以用如下代码修改 numpy 数组:
成都创新互联是一家专注于成都做网站、成都网站设计与策划设计,正镶白网站建设哪家好?成都创新互联做网站,专注于网站建设十年,网设计领域的专业建站公司;建站业务涵盖:正镶白等地区。正镶白做网站价格咨询:18980820575
mat = numpy.zeros((3,3))
compute_matrix( mat )
我们可以定义函数 compute_matrix 来修改参数 mat 的值, 并在这个函数结束后返回, 可以不用 return.
附录:
python 参数传递 (传值或传引用). 这篇博文将 python 中参数传递的情况, 什么时候传值什么时候传引用, 解释地很清楚, 具体地:
如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值--相当于通过“传引用”来传递对象。
如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能直接修改原始对象--相当于通过“传值'来传递对象。
1、首先打开pycharm软件,新建一个python文件并导入numpy库。
2、然后创建矩阵A,这里先创建一个两行两列的数组,在用numpy的mat函数将数组转换为矩阵。
3、接着计算矩阵A的逆矩阵,逆矩阵是通过A.I求得。
4、求出了矩阵A的逆矩阵后,用矩阵B乘以这个逆矩阵就是矩阵的除法了,即为矩阵B除以矩阵A的值。
若文件位于同一文件夹下的data文件夹中data.mat
import scipy.io as scio
import pandas as pd
data = scio.loadmat('./data/data.mat')
df=pd.DataFrame(['dat'])
python中使用h5py对HDF5文件进行操作。
1、创建文件和数据集
import h5py
import numpy as np
imgData = np.zeros((2,4))
f = h5py.File('HDF5_FILE.h5','w') #创建一个h5文件,文件指针是f
f['data'] = imgData #将数据写入文件的主键data下面
f['labels'] = np.array([1,2,3,4,5]) #将数据写入文件的主键labels下面
f.close() #关闭文件
f = h5py.File('HDF5_FILE.h5','r') #打开h5文件
for key in f.keys():
print(f[key].name)
print(f[key].shape)
print(f[key].value)
输出结果:
/data
(2, 4)
[[ 0. 0. 0. 0.]
[ 0. 0. 0. 0.]]
/labels
(5,)
[1 2 3 4 5]
Process finished with exit code 0
写入读取pkl文件
1)字典类型:
import pickle
dict_data={'name':["张三","李四"]}
with open("dict_data.pkl","wb") as fo:
pickle.dump(dict_data,fo)
with open("dict_data","rb") as fo:
dict_data=pickle.load(fo,encoding='bytes')
print(dict_data.keys())
print(dict_data)
print(dict_data["name"])
结果如下:
dict_keys(['name'])
{'name': ['张三', '李四']}
['张三', '李四']
2)列表类型
import pickle
list_data=["张三","李四"]
with open ("list_data","wb") as fo:
pickle.dump(list_data,fo)
with open("list_data","rb") as fo:
pickle.load(fo,encoding='bytes')
print(list_data)
print(list_data.keys())
pirnt(list_data["name"])
mat文件
mat数据格式是Matlab的数据存储的标准格式。在Matlab中主要使用load()函数导入一个mat文件,使用save()函数保存一个mat文件。对于文件data.mat:
load(‘data.mat')
save('data_1.mat','A')
其中'A’表示要保存的内容。
在python读取mat文件:
1、读取文件:
import scipy.io as scio
file1='E://data.mat'
data=scio.loadmat(file1)
注意,读取出来的data是字典格式,可以通过函数type(data)查看。
print type(data)
结果显示
type 'dict'
找到mat文件中的矩阵:
print data['A']
结果显示