摘要:
DOS,DDOS攻击与防范 DOS 拒绝服务攻击 利用程序的漏洞、利用协议的漏洞对服务器进行攻击,导致服务器无法正常对外提供服务。 例如: 利用tcp三步握手设计缺陷syn洪水攻击 a syn=100 > b a < syn=1000,ack=101 b a syn=101,ack=1001--> 阅读全文
摘要:
一张图弄懂python的字符串与字节码转换 阅读全文
摘要:
先安装一个python与MySQL交互的包:MySQL-python $ gunzip MySQL-python-1.2.2.tar.gz $ tar -xvf MySQL-python-1.2.2.tar $ cd MySQL-python-1.2.2 $ python setup.py buil 阅读全文
摘要:
socket(套接字)就是建立连接,发送,接收。大部分网络协议都是建立在socket之上的,例如:http,ftp,smtp等等 socket用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过‘套接字’向网络发出请求或者应答网络请求,说白了就是一种通信机制。它类似于银行,电信啊这些部分的电 阅读全文
摘要:
1.类的比较 class A(object): def __init__(self,value): self.value = value def __eq__(self,other): return self.value == other.value def __ne__(self,other): 阅读全文
摘要:
在面向对象,继承是一个很重要的特性 子类与父类,子类是对父类的一种扩展,在父类的属性和方法上进行一些扩展 示例:没带继承 #定义一个带编号和状态的门的类 class Door(object): def __init__(self,num,status): self.num = num self.st 阅读全文
摘要:
面向对象基础: 在了解面向对象之前,先了解下变成范式: 编程范式是一类典型的编程风格,是一种方法学 编程范式决定了程序员对程序执行的看法 oop中,程序是一系列对象的相互作用 python支持多种编程范式,面向过程,面向对象,面向切面(装饰器部分)等 OOP思想: 面向对象的基本哲学,世界由具有各自 阅读全文
摘要:
当程序运行过程中出错的时候,捕捉到该错误,并执行一些相应的自定义操作 用法: try: expression except Exception,e: expression #try语句有异常发生后执行except try: expression except Exception,e: express 阅读全文
摘要:
装饰器是函数,只不过该函数可以具有特殊的含义,装饰器用来装饰函数或类,使用装饰器可以在函数执行前和执行后添加相应操作。 def f1(arg): arg() def func(): print ('123') f1(func) >f1接收的参数是一个函数 注:func返回的是内存地址,func()才 阅读全文
摘要:
递归原理:递归要慎用 斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368 我们发现其规律为:后一个数等于它前 阅读全文
摘要:
迭代器:以list为例 >>> help(list.__iter__) Help on wrapper_descriptor: __iter__(self, /) Implement iter(self). 内部一个数据结构里面,如果还有下一个,把下一个拿给你,直到没有下一个了,迭代器的内部会执行n 阅读全文
摘要:
1、对比range 和 xrange 的区别 如上代码所示,range会在内存中创建所有指定的数字,而xrange不会立即创建,只有在迭代循环时,才去创建每个数组。 def func1(): return 1 return 2 return 3 print (func1()) 问以上结果会打印什么? 阅读全文
摘要:
lambda表达式 学习条件运算时,对于简单的 if else 语句,可以使用三元运算来表示,即: # 普通条件语句 # 三元运算 name = 'wupeiqi' if 1 == 1 else 'alex' 对于简单的函数,也存在一种简便的表示方式,即:lambda表达式 # ########## 阅读全文
摘要:
一、打开文件:open或file都可以,3.0之后只能用open了 以只读方式打开文件: file_obj = open("E:\log.txt","r") 以读写方式打开文件: file_obj = open("E:\log.txt","r+") >可读,可写,可追加 以追加方式打开文件: fil 阅读全文
摘要:
一.计数器(对字典的扩展) 有如下一个字典: dic = {'k1':123,'k2':123,'k3':12} 统计12出现的次数,123出现的次数 1.统计出现次数 2.返回前几名 3.相加 4.相减 5.迭代器 > element 二.有序字典 >和dict字典是一模一样的,只是它排序了 三. 阅读全文
摘要:
内置函数: help() dir() type() id() is 比较内存地址(==比较的是值) var() 当前模块的所有变量(系统的和自己定义的) 系统的: 'file':程序的路径 '__doc__':注释的内容 '__name__':'__main__' 这个很重要,代表程序的主入口 '_ 阅读全文
摘要:
name1 = 'alex' name2 = name1 name1 = 'rooney' name2 = ? 答案:name2还是等于alex,因为字符串的重新定义是在内存里面重新开辟一个空间,字典,列表,就是在原来的内存空间里面修改,所以上题如果是字典或者列表的话那name2的值就是rooney 阅读全文
摘要:
模块的导入方法: 1)import 模块名 2)from 模块名 import sayhi from os import system(从OS模块中调用system方法,就可以使用系统命令了) 例:system('df -h') 3)import 模块名 as 新名字 常用模块及方法: OS(系统模 阅读全文
摘要:
python执行流程: 加载内存,词法分析,语法分析,编译 >字节码,执行字节码,机器码,执行机器码 #代表单行注释 """三引号代表多行注释 import sys print sys.argv 捕获参数:sys.argv 捕获的参数会是一个列表,第1个是文件名,第2个是实际的参数,要用就通过下标的 阅读全文
摘要:
变量声明: name1 = "andy" name2 = name1 这个时候我把name1的值给改成了“tom”,问现在name2的值是什么?为什么? 答:andy,因为你把name1的值改了相当于你将name1指向了一个新的叫做tom的内存地址,但name2仍然指向旧的andy的内存地址(字符串 阅读全文