[第五章]思考题答案,仅供参考: 思考题1:第一种方法更快,原因就是{}不需要去调用相关的函数: 思考题2:用列表作为key在这里是不被允许的,因为列表是一个动态变化的数据结构,字典当中的key要求是不可变的,原因也很好理解,key首先是不重复的,如果key是可以变化的话,那么随便key的变化,这里就有可能会有重复的key,那么这就和字典的定义相违背:如果把这里的列表换成元组是可以的,元组是不可变的. 深入浅出字符串 Python 的程序中充满了字符串(string),在平常阅读代码时也屡见不鲜…
1月29日学习内容 Python面向对象程序设计 类的定义与使用 类定义语法 使用class关键词 class Car: def infor(self): print("This is car") self参数 类的所有实例方法都必须至少有一个名为self的参数,并且必须是方法的第一个形参 self参数代表将来要创建的对象本身 实际上也没可以不用self 而取别的名字,但这是约定俗成的事 class A: def __init__(hahaha, v): hahaha.value=v…
JVM学习笔记-第六章-类文件结构 6.3 Class类文件的结构 本章中,笔者只是通俗地将任意一个有效的类或接口锁应当满足的格式称为"Class文件格式",实际上它完全不需要以磁盘的形式存在. Class文件是一组以8个字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎全都是程序运行的必要数据.当遇到需要占用8个字节以上空间的数据项时,则会按照高位在前的方式分割成若干个8个字节进行存储.Class文…
2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔记本或其他普通文本处理软件进行编辑,通常也无法被人类直接阅读和理解,需要使用专门的软件进行解码后读取,显示,修改或执行.常见的如图形图像文件,音视频文件,可执行文件,资源文件,各种数据库,Office文件都属于二进制文件 文件对象 通过open()函数即可以指定模式打开指定文件并创建文件对象 文件对…
2016/1/29学习内容 第四章 Python函数设计与使用 之前的几页忘记保存了 很伤心 变量作用域 -一个变量已在函数外定义,如果在函数内需要修改这个变量的值,并将这个赋值结果反映到函数之外,可以在函数内用global声明这个变量为全局变量,明确声明要使用已定义的同名全局变量 -在函数内部直接使用global关键词将一个变量声明为全局变量,即使在函数外没有定义该全局变量,在调用这个函数之后,将自动增加新的全局变量 def demo(): global a; a=3; demo(); pri…
2016/1/28学习内容 第四章 Python字符串与正则表达式之字符串 编码规则 UTF-8 以1个字节表示英语字符(兼容ASCII),以3个字节表示中文及其他语言,UTF-8对全世界所有国家需要用到的字符进行了编码 GB2312->GBK->CP936 用2个字节表示中文 Unicode 常用指定方法 #coding=utf-8 #coding:GBK #-*-coding:utf-8-*- 2.x与3.x区别 2.x没有很好的支持,len(中文)=2或3 3.x很好的支持了,len(中…
记录自己学习C Primer Plus的学习笔记 第一章 C语言高效在于C语言通常是汇编语言才具有的微调控能力设计的一系列内部指令 C不是面向对象编程 编译器把源代码转化成中间代码,链接器把中间代码和其他代码合并,生成可执行文件 第二章 main函数总是第一个被调用的函数 include预处理器指令 声明,所有变量都必须先声明才能使用,最初的规则规则变量声明需在块的顶部 C语言通过赋值运算符而不是赋值语句来完成赋值操作,听起来很别扭,赋值语句其实就是赋值表达式+分号 第三章 由于现在16位机已经…
第六章-档案权限与目录配置#chgrp:改变档案的所属群组#chown:改变档案的拥有者#chmod:改变档案的权限及属性 chown用法 chmod用法: r:4 w:2 x:1对于文档: 对于目录:…
第六章:坐标系统变换 想要旋转.缩放或者移动图片到新的位置.可以给对应的SVG元素添加transform属性. 6.1 translate变换 可以为<use>元素使用x和y属性,以在特性的位置放置图形对象组合: <svg width="200px" height="200px" viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"> <…
第六章  使用CSS美化图片 6.1  在网页中插入图片 GIF图像 跨平台能力,无兼容性问题: 具有减少颜色显示数目而极度压缩文件的能力,不会降低图像的品质(无损压缩): 支持背景透明功能,便于图像融合到其它背景色中: 可以储存多张,实现动态显示. JPEG图像 有损压缩,部分细节会被忽略: 跨平台,与GIF格式相同: 支持1670万种颜色,很好地再现摄影图像: 不支持背景透明和交错显示功能. PNG图像 具有GIF和JPEG的双重优点.新的无损压缩文件格式,支持1670万种颜色,支持索引度.…
抽象和结构 本章将会介绍如何让将语句组织成函数,还会详细介绍参数(parameter)和作用域(scope)的概念,以及递归的概念及其在程序中的用途. 创建函数 函数可以调用,它执行某种行为,并返回某个值,可用内建的callable函数来判断函数是否可以调用 >>> import math >>> x = >>> y = math.sqrt >>> callable(x) False >>> callable(y)…
I/O编程 在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件) 读文件 要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符: f = open('/Users/michael/test.txt', 'r') 如果文件不存在,open()函数就会抛出一个…
本章学习目标: 了解继承的目的 了解继承与多态的关系 知道如何重新定义方法 认识java.lang.object 简介垃圾回收机制 一.继承 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类.继承可以理解为一个对象从另一个对象获取属性的过程. 如果类A是类B的父类,而类B是类C的父类,我们也称C是A的子类,类C是从类A继承而来的.在Java中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类 继承中最常使用的两个关键字是extends和implements. 这两个关…
Python 语句 赋值语句 1.将3对象赋值给了变量a 2.将3,4赋值给了变量a,b >>> a = 3 >>> a ,b = 3,4 >>> a 3 >>> b 4 >>> a = 3,4 >>> a (3, 4) 3.实现将a,b=3,4进行调换a,b=4,3 >>> a,b =3,4 一般我们声明一个临时变量来解决 >>> temp = a >&g…
一.爬虫基础 1.爬虫概念 网络爬虫(又称为网页蜘蛛),是一种按照一定的规则,自动地抓取万维网信息的程序或脚本.用爬虫最大的好出是批量且自动化得获取和处理信息.对于宏观或微观的情况都可以多一个侧面去了解: 2.urllib库 urllib是python内置的HTTP请求库,旗下有4个常用的模块库: urllib.request 请求模块 urllib.error 异常处理模块 urllib.parse url解析模块 urllib.robotparser robots.txt解析模块 3.url…
一.python正则表达式 定义:正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式相匹配: 1.1RE模块:是python语言拥有全部的正则表达式功能的一个正则模块: 常见RE模块的方法: 创建模式对象compile(pattern).在字符串中寻找模式search(pattern,string).在字符串开始处匹配模式match(pattern,string). 列表形式返回匹配项findll(pattern,string).替换字符串中的匹配项sub(patter…
1.1为什么黑客喜欢用python? python为我们提供了非常完善的基础代码库,覆盖了网络.文件.GUI.数据库.文本等大量内容,被形象的称为“”内置电池“”,用python开发,许多功能不必从零编写,直接使用现成的就可以了. 1.2python在网络安全的应用 a.漏洞挖掘 b.逆向分析 c.渗透测试 d.信息取证 第三方库:https://github.com/dloss/python-pentest-tools 1.3常见基于python开发的POC平台框架 a.Beebeeto b.…
ARP欺骗攻击 常用工具:  dsniff(Linux/windows).ettercap(Linux/windows).cain(仅windows). ARP欺骗攻击的目的是嗅探发往某主机的所有IP数据包.   交换机: 在LAN接入中的三层交换机使用第五章中提到的DHCP Snooping 功能中的动态ARP检查(Dynamic ARP Inspection)功能即可有效防止ARP欺骗的发生. 并且可以设置N秒内收到M条ARP欺骗消息会产生一条日志.每秒收到超过多少条ARP数据包时 使相应端…
在之前我们学会了数字类型,包括整数类型.浮点类型和复数类型,这些类型仅能表示一个数据,这种表示单一数据的类型称为基本数据类型.然而,实际计算中却存在大量同时处理多个数据的情况,这种需要将多个数据有效组织起来并统一表示,这种能够表示多个数据的类型称为组合数据类型. 一.组合数据类型概述 组合数据类型更能够将多个同类或不同类型组织起来,通过单一的表示使数据更有序.更容易.根据数据之间的关系,组合数据类型可以分为3类:序列类型.集合类型和映射类型. 序列类型是一个元素向量,元素之间的存在先后关系,通过…
远古 古老的html 4.01和XHTML 1.1 页面 必须用Doctype挑明,再html元素上面 html 4.01 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 //EN" "http://www.w3.org/TR/html4/strict.dtd"> XHTML 1.1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 //EN" &…
接口域内部类 接口 描述类具有什么功能,不给出具体实现. 内部类 用于设计协作关系的类集合 代理 实现任意接口的对象. 6.1 接口 接口声明 public interface Comparable { int compareTo(Object other); //接口声明中自动属于public 所以不需要public } 接口声明不能提供的功能 不能含有实例域 不能在接口中实现方法 注意:提供实例域和方法实现的任务应该由接口实现的那个类完成 接口实现 需要完成两点 将类声明为实现给定的接口 使…
MVC中的M(模型),通常就是一个普通的类,这个类里面的信息就是业务逻辑. 会话(Session) 我们可以使用一个HttpSession对象,来保存横跨多个请求的会话状态. HTTP协议使用的是无状态连接.客户浏览器与服务器建立连接,发出请求,得到响应,然后关闭连接.换句话说,连接只为一个请求/响应存在.对于Web容器而言,每一个连接都是一个新的客户. 那么Web容器怎么记住这是同一个客户,还是另外一个新客户呢?这个时候,客户就需要一个唯一的会话ID. 对于一个客户的第一个请求,容器会生成一个…
一个简单的point坐标类 class Point {public: Point():xval(0),yval(0){} Point(int x,int y):xval(x),yval(y){} int x()const { return xval; } int y()const { return yval; } Point& x(int xv) { xval = xv; return *this; } Point& y(int yv) { yval = yv; return *this;…
四.客户端攻击      客户端攻击与服务端攻击有个显著不同的标识,就是攻击者向用户主机发送的恶意数据不会直接导致用户系统中的服务进程溢出,而是需要结合一些社会工程学技巧,诱使客户端用户去访问这些恶意数据,间接发生攻击.      4.1客户端渗透攻击的安全防护机制              ①DEP                 DEP(数据执行保护)基本原理是操作系统通过设置内存页的属性,指明数据所在的内存页为不可执行.              ②ASLR                …
1.ECMAScript没有类的概念,ECMA-262 把对象定义为:“无序属性的集合,其属性可以包含基本值.对象或者函数.”,有点类似于散列表 2.ECMAScript 中有两种属性:数据属性和访问器属性. 数据属性: [[Configurable]]:表示能否通过 delete 删除属性从而重新定义属性,能否修改属性的特性,或者能否把属性修改为访问器属性. [[Enumerable]]:表示能否通过 for-in 循环返回属性. [[Writable]]:表示能否修改属性的值. [[Valu…
6.3两正态总体的区间估计 (1)两个总体的方差已知 在R中编写计算置信区间的函数twosample.ci()如下,输入参数为样本x, y,置信度α和两个样本的标准差. > twosample.ci=function(x,y,alpha,sigma1,sigma2){ + n1=length(x);n2=length(y) + xbar=mean(x)-mean(y) + z=qnorm(1-alpha/2)*sqrt(sigma1^2/n1+sigma2^2/n2) + c(xbar-z,xb…
sqlserver中有很多内置函数,这里总结了一些常用的 一.关于字符串的函数: 1.CHARINDEX 寻找一个指定字符串在另一个字符串中的起始位置 SELECT CHARINDEX('world‘,'hello world',1) 返回:7解释:第一个参数是要查找的字符串,第二个参数是源字符串,第三个参数是从源字符串的第几个位置开始查找,1是指从开头开始查找,默认值也是1.注意:若查找到结果,返回该查找字符串的位置:若没有找到,则返回0 2.LEN 返回传递给它的字符串长度 SELECT L…
Chapter6.h #ifndef __CHAPTER_6_ #define __CHAPTER_6_ /*<深入理解C指针>学习笔记 -- 第六章*/ typedef struct __person { char* name; char* title; unsigned int age; }person; /*结构体内存的释放问题*/ void __struct_memory_test(); #endif Chapter6.cpp #include "Chapter6.h&quo…
python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for filename in filelist: filepath=os.path.join(path,filename) if(os.path.isdir(filepath)): dirList(filepath) allfile.append(filepath) return allfile pri…