11.8
python input()函数得到的是字符串,需要进行类型转换才能用于计算,(python_2中直接得到数字的input似乎被移除了);
若使print结尾不默认换行,则在结尾加入print(‘小麦’,end=’’)让end参数默认为空。
11.9
基本符号
else if==elif
&&==and
|| == or
^ == **
/ 在python3中可自动转换浮点数
// 为取整除法(向下取整)
循环
range()函数使用三个参数,前两个表示范围,范围最大值为第二个数的前一个,第三个参数表示自增的数值大小,若为负,则为自减。
for的基本型和c略有不同
while的基本型基本一致,但之后不需要加括号,结尾改为引号。
continue和break与c的用法一模一样
譬如
for i(循环变量) in range(10, 1, -1)(在某个列表):
print(i)
10
9
8
7
6
5
4
3
2
到1之前停止
在所有循环和判断语句当中,都不需要c语言的大括号,而是以制表符结束(即格式改变)来包含整个语句的,语句结束也是当格式恢复的时候自动恢复。
列表
基本运用
列表需要命名,如:xiaomai=【】
内部可以放任何类型的数据,
向其中(末尾)添加变量使用append()函数,具体使用方法如下
其中的“ . ”的效果是面对对象所使用的前置符。
其他添加元素的方法
extend()<——可以放置一个中括号,传输一个列表到对象列表的末尾。
insert(想要增添在列表上的位置,增添的元素)
增添的位置的原有元素会整体全部向后移动一位。
列表分片
如:xiaomai【:】其得到的是一个列表的子列表(即使其只有一个)
从列表中删除
remove()如果一个列表中有多个该元素则删除第一个。
pop()函数相当于remove()的升级版,有抽取元素的效果。
搜索列表中元素
存在:
搜索:
问题:
为什么使用xiaomai会出现拼写错误。
已解决:python会检查你的拼写错误,所以需要在非单个单词的命名之间加下划线。
列表排序
sort()对原有列表排序,按字母或数字顺序。
将列表倒置排序,需要先sort()在使用reverse():
建立一个副本(相同的列表):
xiaomai_1=xiaomao【:】
双重列表
字典
字典==(字典名 = {key:value})
对字典的键排序
对字典里的值进行排序
解释:先对字典里的值进行排序,并得到列表,再使用排序过后的列表值来嵌套一个循环,嵌套循环使用字典的键(钥匙)的列表值来循环,并进行判断,一旦使用其循环内的键的字典值和排过序的字典值的列表值相同,则输出此时的键和值(在print后加个break可以优化结构。)
字典可以做的其他事
11.10
函数
创建函数使用 ------ def 函数名() :
函数内容
引用函数: 函数名()
在函数中使用的参数为形参,即使和外部主函数的全局变量名字相同,而如果想要使用全局变量来在函数中进行运算,而不是形参,需要使用:
对象
实例的建立>>>>>你想要的实例名 = 类名 ()
而后可以这样使用: 实例名 . 属性名 = 具体属性值
实例名 . 函数名(实例的名(自动导入))
向对象中传参:
python的类名命名规范:
11.11
多态:
照我的理解呀,这个多态就是正常的函数重名而已,在创造实例的时候就已经确定这个实例在哪一个大类下了,此时对着该实例使用 . 函数名()就可以引用对应大类中的函数(方法)了。
继承:
在已有类下,建立子类时,在括号内加入大类的类名,以建立其子类。
其子类拥有大类的属性和函数(方法)。
问题2:如何在函数中实现导入并且改变导入参数的效果(即指针)
不是使用return,经尝试,使用globe定义全局变量似乎没有用。。。
(或者说,我使用的方法有问题?)
使用模块:
python的基础语法暂时告一段落了,现在开始进入机器学习阶段
机器学习
暂定目标(保守时间2-3天)
初步了解算法:KNN 决策树 神经网络
初步了解工具包: numpy ,matplotlib , pandas
暂时想要做的作品为垃圾分类(这个可能比较适合我未来想发展的计算机视觉,识别方面)了解如何实现目标,然后朝着这个目标努力。
——开始
太难了,我什么都看不懂(哭腔)
11.12
总的来说,今天的前进进度几乎为0,
但是在今天我巩固了一下python的基础知识,学会并使用了conda,pip,cmd的一些基础命令,装完了很多很多包,做到了将图片导入python中并转化为矩阵,可以说实现了垃圾分类作品的第一步,虽然我现在真的十分十分迷茫,资料找不到,资料找不对,资料是错的,资料不能用,即使从早学到晚,但还是感觉什么都不懂,唉,枯了,但是,我也不断的获得了学长学姐的帮助,大致找到了一些比较好的方向,应该可以跳出一些坑(哭)————
1.了解神经网络的基础搭建原理,判断预测图片的分类,但是需要自己搭建神经网络,我个人觉得难点在于如何找到合适的资料学习,然后完全的理解其中的原理,自己做出一个没有多少层嵌套的基本神经网络框架(非常有难度,如果选择,就要做好十足的准备,毕竟我的数学基础特别差,而这个可能会用到非常多的大学高等数学知识)
2.使用KNN或者逻辑回归算法,但是可能不能使用将图片导出的矩阵转化为多维的向量来进行跑图训练,因为数据量像素点实在是太多了,由柏良兄的建议,我应该下一步先了解numpy,以便于使用各种的矩阵运算(线代永远的痛),使用矩阵运算来进行数据比对
3.我还是不知道我的比对标准应该设为什么,我应该用什么来进行基础的比对,使用算法的话,应该怎么使用他来进行数据比对实现我的目标,就比如说,我该怎么使用这些数据集来形成对应的算法,我选择的垃圾分类是多分类问题,即使是一个集当中的图片差距都是巨大的,不属于一类物品,无法形成一类特征,也无法一个方程来实现,我觉得要是使用方程来实现目标可能需要使用非常多个方程来识别(也可能是我现在知识太少还无法理解,无法想到)
4.明日计划:获得蒋学姐的帮助,了解神经网络搭建的基本原理,或者实现我的分类的大致方向。
问导论实验老师,结业设能不能交python的作品,以及小恐龙为什么没办法传参,(要是能从导论老师那获得垃圾分类学习方向的一些帮助就更好了)
写完线代作业,并且完全的弄懂(看视频)
安排好元旦晚会的伴奏,具体流程,稿子等。
11.13
使用PIL库中的Image类的内置方法(函数)打开图片,然后使用numpy的shape提取其图片像素之类的大小,然后将图片导出为矩阵就使用numpy当中的array使其导出为矩阵。
image.show可以将图片使用照片来打开。
各类活动,(小麦需要休息)
——————软件部,机器学习,麦炜樑。
——————2020.11.15