github指路 冲冲冲冲冲
国庆回来上的第一节课是python
我真的很努力在听,可还是睡了几页ppt
55555555
我发现 讲了这么多没有讲矩阵的意义
所以来补惹
因为作业是矩阵读写呀
那么 需要考虑的是 矩阵的维度,矩阵数据的类型,读数据和写数据的方法(你怎么写数据才能把他原样读出来= =)
矩阵数据的类型我就考虑了老师作业里要求的int、float和string
然后也没啥好讲的我觉得
!重点讲一下
多维矩阵的理解
吧
在一个博客上看到的,如果是一维矩阵是一行字,二维矩阵就是一页纸,三维矩阵就是一本书,四维矩阵就是一个书架,五维就是图书馆……
我觉得这个理解很棒,简单易懂= =
然后读写数据的话因人而异吧,自己制定规则然后遵守规则就可啦
好久才发现要更新(也就一天)
咕咕咕
2019/10/09 更新
首先,先讲理论部分
开始复习上课内容(虽然我睡着了但是我前面部分有听!!!)
这节课第一个要点:
函数-function
讲了函数的意义、原则、定义的方法、怎么使用,函数参数怎么传递、形参和实参的形式、函数之间的嵌套、还有一个我觉得超级酷的默认参数(好吧可能是之前没有接触过的原因吧……)
有些东西是都知道的,
比如函数有什么用 回答:便于修改、让代码逻辑变得更清晰,减少代码冗余
再比如函数要怎么调用 回答:不想回答
再比如写函数的一个可以避免的思想 回答:递归思想(因为太菜了写不出来也因为写出来很大几率是错的,当然如果你足够强,当我没说)
有些东西是自己没想到但在老师提点之后觉得也算重要的
比如python里函数不用定义参数类型这件事
再比如函数内定义的变量,函数外无法访问- -
再比如python边编译边运行(?)所以函数不能像c里那样可以在前面定义之后再在main函数之后写函数代码块而是要(粗暴)直接写就完事了
再比如函数嵌套的时候……突然举例。就是在函数A中嵌套函数B,这个时候要在执行函数A之前定义函数B,而不是在定义函数A之前定义函数B(惰性运算机制)
有些东西是课上刚接触到的觉得很新奇
比如 函数里面的默认参数,没接触过可真的是太酷了
再比如 lambda函数,有点不太懂来着,就是一个不需要使用变量名的无名函数,大概就是大佬写的代码里会出现的样子- - (lambda x:x**2 就是输出x^2这样子,我还没试过- -)
好啦,这节课第二个要点:
模块-没有英文名??
同样讲了模块的定义
(我开始犯困……)
(断片……)
(强行清醒……)
有意识之后老师讲了模块的调用 :
大概就是 import xx as x(as 就像重命名机制那样的,把xx模块载入之后,让x变成了一个对象- -)还有form yy import y
然后讲了模块的意义,和函数一样解决代码冗余的问题,还有我觉得听起来很棒也确实很棒的一个点:模块可以提供命名空间(就是上面说的那个作为对象)
okok第三个点:
就是
python 读写文件
的方法(好虚伪的总结)
言归正传,我打算放在一篇新的博客里(不讲废话只写要点的那种???精简技术贴???)
刘老师讲了一下文件的读和写
课后留了个作业
大概是这样
上课没打完课后接着打
我超级乖
先贴个代码
10月13日修改
== 》(不完全,因为我突然发现有很多朋友还没有交python作业= =)《==
晚上整理整理脑子
# file_name:读入或写入的文件名称
# data_list:读入或写入的数据链表
# data_tpye:数据类型
# 1:int;2:float;3:string
# n:矩阵维度
def f_write(file_name,data_list,n=2,data_type=1):
f = open(file_name,'w')
#……
f.close()
def f_read(file_name,output_list=[],n=2,data_type=1):
f = open(file_name,'r')
#……
f.close()
print(output_list)
# =========== test on n=3 int =============
int_3_list=[[[1,2,2,3],[2,3,3,4]],[[1,2,2,3],[2,3,3,4]],[[1,2,2,3],[2,3,3,4]]]
f_write('int_3_test.txt',int_3_list,n=3)
int_o_3_list=[]
f_read('int_3_test.txt',int_o_3_list,n=3)
print('------------------------')
# --- test on n=3 string ---
str_3_list = [[['a','b','c'],['d','ef','g']],[['a','b','c'],['d','ef','g']]]
str_o_3_list=[]
f_write('str_3_test.txt',str_3_list,n=3,data_type=3)
f_read('str_3_test.txt',str_o_3_list,n=3,data_type=3)
# print(str_3_list)
print('------------------------')
# --- test on n=3 float ---
float_3_list = [[[1.11,2.22,3.33],[1.34,2.45,3.56]],[[1.11,2.22,3.33],[1.34,2.45,3.56]]]
float_o_3_list=[]
f_write('float_3_test.txt',float_3_list,n=4,data_type=2)
f_read('float_3_test.txt',float_o_3_list,n=4,data_type=2)
# print(float_3_list)
# # =========== test on int data_type =============
# int_list = [[1,2,2,3],[2,3,3,4]]
# int_o_list=[]
# f_write('int_test.txt',int_list)
# f_read('int_test.txt',int_o_list)
#
# # ========= test on float data_type =============
# float_list = [[1.11,2.22,3.33],[1.34,2.45,3.56]]
# float_o_list=[]
# f_write('float_test.txt',float_list,data_type=2)
# f_read('float_test.txt',float_o_list,data_type=2)
#
# # ========= test on string data_type ============
# str_list = [['a','b','c'],['d','ef','g']]
# str_o_list=[]
# f_write('str_test.txt',str_list,data_type=3)
# f_read('str_test.txt',str_o_list,data_type=3)
收获了刘老师的一个大拇指
继续加油呀,干杯 [ :-1]
2020/02/04 更新code
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2019/10/22 10:37
# @Author : Chen Shan
# Function : Read & write multidimensional matrix
# file_name:读入或写入的文件名称
# data_list:读入或写入的数据链表
# data_tpye:数据类型
# 1:int;2:float;3:string
# n:矩阵维度
def f_write(file_name,data_list,n=2,data_type=1):
f = open(file_name,'w')
if n != 2:
for datas in data_list:
datas = str(datas)
f.write(datas.replace('[', '').replace('],', '|').replace(']', '|').replace("'", '').replace('"', ''))
elif n == 2:
for line in data_list:
if data_type == 3:
line = str(line).replace('[', '').replace(']', '').replace("'",'').replace('"','')
line = line + '\n'
else :
line = str(line).replace('[','').replace(']','')
line = line+'\n'
f.write(line)
f.close()
def f_read(file_name,output_list=[],n=2,data_type=1):
f = open(file_name,'r')
if n != 2:
for line in f:
line = line.replace(' ','')
line = line.split('|')
print(line)
t1 = []
t2 = []
for nums in line:
temp=''
for num in nums:
if num == ',' or num == ' ':
if data_type == 1:
t1.append(int(temp))
elif data_type == 2:
t1.append(float(temp))
elif data_type == 3:
t1.append(str(temp))
temp = ''
continue
temp += num
if temp != '':
if data_type == 1:
t1.append(int(temp))
elif data_type == 2:
t1.append(float(temp))
elif data_type == 3:
t1.append(str(temp))
if len(t1) != 0:
t2.append(t1)
t1 = []
else:
if len(t2) != 0:
output_list.append(t2)
t2 = []
elif n == 2:
for line in f:
line = line.replace('\n','').split(',')
print(line)
if data_type == 1:
datas = [int(num) for num in line ]
elif data_type == 2:
datas = [float(num) for num in line]
else:
datas = [str(num) for num in line]
output_list.append(datas)
f.close()
print(output_list)
# =========== test on n=3 int =============
int_3_list = [ [ [1,2,2,3] , [2,3,3,4] ],[ [1,2,2,3] , [2,3,3,4] ] , [ [1,2,2,3] , [2,3,3,4] ] ]
f_write('int_3_test.txt',int_3_list,n=3)
int_o_3_list = []
f_read('int_3_test.txt',int_o_3_list,n=3)
print('------------------------')
# --- test on n=3 string ---
str_3_list = [ [ ['a','b','c'] , ['d','ef','g'] ] , [ ['a','b','c'] , ['d','ef','g'] ] ]
str_o_3_list = []
f_write('str_3_test.txt',str_3_list,n=3,data_type=3)
f_read('str_3_test.txt',str_o_3_list,n=3,data_type=3)
# print(str_3_list)
print('------------------------')
# --- test on n=3 float ---
float_3_list = [ [ [1.11,2.22,3.33] , [1.34,2.45,3.56] ] , [ [1.11,2.22,3.33] , [1.34,2.45,3.56] ] ]
float_o_3_list = []
f_write('float_3_test.txt',float_3_list,n=4,data_type=2)
f_read('float_3_test.txt',float_o_3_list,n=4,data_type=2)
# print(float_3_list)
# # =========== test on int data_type =============
# int_list = [ [1,2,2,3] , [2,3,3,4] ]
# int_o_list = []
# f_write('int_test.txt',int_list)
# f_read('int_test.txt',int_o_list)
#
# # ========= test on float data_type =============
# float_list = [ [1.11,2.22,3.33] , [1.34,2.45,3.56] ]
# float_o_list = []
# f_write('float_test.txt',float_list,data_type=2)
# f_read('float_test.txt',float_o_list,data_type=2)
#
# # ========= test on string data_type ============
# str_list = [ ['a','b','c'] , ['d','ef','g'] ]
# str_o_list = []
# f_write('str_test.txt',str_list,data_type=3)
# f_read('str_test.txt',str_o_list,data_type=3)