2021-2022-1 20211422 《信息安全专业导论》第八周学习总结
作业目标:1.自学教材《计算机科学概论》第九章
2.《看漫画学python》第九章,第十章
教材内容学习总结
学习了计算机科学概论第八章后:其大概知识体系如下:
9.1面对对象方法
9.1.1面对对象
面向对象设计的底层概念是类与对象
对象:是在问题背景中具有意义的事物与实体
对象类或类:一组具有相似的属性和行为的对象的描述,说明了对象是什么(字段)和它的行为(方法)
字段:表示类的属性
9.1.2设计方法
1.头脑风暴:一种集体问题求解的方法(行为),为的是生成解决某个特定问题用到的侯选类的列表
2.过滤:根据这个暂时的列表,确定问题解决方案中的核心类。保留下来的类传递到下一阶段
3.场景:给每个类分配责任
责任有两类:1.类自身必须知道什么 2.类必须能够做什么
封装:集中数据和动作,分离其逻辑属性和实现细节
4.责任算法:执行责任编写算法 ps:自顶向下设计算法的方法通常也适用于设计动作责任算法。
9.2翻译过程
9.2.1编译器:把用高级语言编写的程序翻译成机器码的程序。
9.2.2解释器:输入用高级语言编写的程序,指导计算机执行每个语句指定的动作的程序。
字节码:编译Java源代码使用的机器语言
9.3程序设计过程
9.3.1命令式范型
1.面向过程的范型:将语句分组为子程序
2.面向对象的范型:数据是被认为被动且可操控的
9.3.2声明式范型
1.函数式模型:原理是函数的求值,而不是变量与赋值语句
2.逻辑编程:基于数理逻辑的原则
9.4高级程序设计语言的功能性
9.4.1 布尔表达式:是一个标识符序列,之间由运算符隔开,求得的值是true或false
9.4.2 数据归类
强类型化:每个变量都有一个类型,只有这个类型的值能储存到该变量中
数据类型:一组值以及能够应用于这种类型的值的基本操作集合的说明
9.4.3 输入/输出结构:print,write,read与外界环境交互
9.4.4控制结构:确定程序中的其他指令的执行顺序的指令
1.嵌套逻辑
2.异步处理:不与计算机中的其他操作同时发生
9.5面向对象语言的功能性
9.5.1封装:实施信息隐蔽的语言特性
9.5.2类
实例化:创建类的对象
9.5.3继承:类获取其他类的属性的机制
9.5.4多态:语言在运行时缺点给定调用将执行哪些可能的方法的能力
学习了看漫画学Python第九,十章后:
第九章 类与对象
定义类,创建对象
封装性:隐藏了对象的内部细节,值保留邮箱的对外接口
继承性:具有类的数据和操作
多态性:对象可以表现出多种形态
第十章 异常处理
除零异常:任何数都不能除以零
捕获异常:在出现异常后我们能捕获并处理异常
使用finally代码块释放资源:被占用的资源,可以通过finally代码块释放
自定义类异常,手动引发异常
教材学习中的问题和解决过程
问题:定义类异常时,print在上部分的函数体系中,但程序结尾只是调用数值,便可输出?
解答过程:自己刚开始时不熟悉,误认为,必须改为先输入读取代码,在输入打印代码,才能将其打印出来,在云班课中提问,经热心同学的回答,我才明白,下部分的调用数值正是调用其函数,而函数中有打印,所以,可以成功
代码调试中的问题
问题:在Linux的命令行对字符串的查找指令中,即使将教材上的通用代码完整的抄下来,也只得到“找不到文件”的回答?
解答过程:再搜索了更多关于命令行基础知识的后,我猜想教材上的指令,是对于文件夹里的字符串的查找,而我是直接创建.txt,于是我将创好的.txt放入一个新的文件夹中,再次运行该命令,得到了解决
代码托管
这个猜数字,还有很大局限
上周考试错题
其他
本星期的自主作业难度并不是很大,再查找了一些相关资料后,就做出来了一共用了一两小时,有了更多的时间去熟悉,与写代码来锻炼自己对于代码的熟悉程度,并复习了一下之前的循环语句,跟上了室友的风潮,也写了一个猜数字的小程序,不过由于不熟悉让电脑随机生成数字的代码,我没有使用,导致我猜的数字必须由我亲自输入,才能够运行,无法自己给自己快乐,下个星期,尝试去完善一下,最好能够写出一个让电脑自己生成自己猜数字的小程序,来跟进我室友的科研步伐。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0/0 | 2/2 | 4/4 | 了解Linux |
第二周 | 0/0 | 2/4 | 5/9 | 了解python |
第三周 | 150/150 | 1/5 | 14/23 | 开始学习python语言 |
第四周 | 250/400 | 2/7 | 22/45 | |
第五周 | 150/550 | 1/8 | 13/58 | 学习python程序流程控制 |
第六周 | 250/800 | 3/11 | 13/71 | 学习使用机器语言与汇编语言 |
第七周 | 250/1050 | 3/14 | 18/89 | 对于序列的运用多了一些理解 |
第八周 | 300/1350 | 2/16 | 20/109 | 已经能够对于类掌握 |
计划学习时间:18小时
实际学习时间:20小时