nolan
-
https介绍
什么是https HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。SSL目前的版本是3.0,被IETF(Internet Engineering T…
-
网络分层模型(OSI,TCP/IP)
目前存在的两种网络分层模型:OSI模型和TCP/IP模型。 OSI模型一共分为七层 TCP/IP模型和OSI模型类似,但是只分为四层。 OSI模型 OSI的全程是Open Systems Interconncection,即开放系统互联,它由ISO(International Organization for Standardization)制定。 OSI是…
-
上下文管理练习(为加法函数计时)
上下文管理(为加法函数计时) 为加法函数计时 使用装饰器显示该函数的执行时长 使用上下文管理显示该函数的执行时长 装饰器实现 import time import datetime from functools import wraps def logger(fn): @wraps(fn) # wraps(fn)(wrapper) def wrapper(*…
-
面向对象的实例方法,类方法和静态方法
类方法和静态方法 普通函数 class Person: def normal_method(): print(‘normal’) Person.normal_method() # Person().normal_method() print(Person.__dict__) Person.normal_method()可以,是因为这个方法只是被Person这…
-
滑动窗口
数据载入 def load(path:str): with open(path) as f: for line in f: tmp = extract(line) if tmp: yield tmp else: # TODO 解析失败就抛弃,或者打印日志 continue 时间窗口分析 概念 很多数据,例如日志,都和时间相关的,都是按照时间顺序产生的。 产生…
-
路径操作
路径操作模块 3.4版本之前 os.path模块 from os import path p = path.join(‘/etc’, ‘sysconfig’, ‘network’) print(type(p), p) print(path.exists(p)) print(path.split(p)) print(path.abspath(‘.’)) p =…
-
装饰器
装饰器(Decorator) 装饰器推导过程 需求 一个加法函数,想增强它的功能,能够输出被调用过以及调用的参数信息 def add(x,y): return x + y 增加信息输出功能 def add(x,y): print(‘call {},{}+{}’.format(add.__name__, x, y)) return x + y 不足:打印语句的…
-
树
树 非线性结构 树是n(n >= 0)个元素的集合: (1)每个元素称为结点(node); (2)有一个特定的结点,称为根结点或根(root); (3)除根结点外,其余结点被分成m(m>=0)个互不相交的有限集合,而每个子集又都是一棵树(称为原树的子树Subtree) 注意 n = 0时,称为空树 树只有一个特殊的没有前驱的元素,称为树的根(Ro…
-
Python基础练习之set/dict练习
1.用户输入一个数字 打印每一位数字及其重复的次数 (1)字符串练习2用的方法 while True: num = input().strip().lstrip(‘0’) if num.isdigit(): break count = [0] * 10 for j in num: x = int(j) if count[x] == 0: count[x] =…
-
数据结构知识点(list,tuple,冒泡法)
分类 数值型 int、float、complex、bool 序列对象 字符串str、列表list、tuple 键值对 集合set、字典dict 数值型 complex:有实数和虚数部分组成 float:有整数和小数组成。只有双精度 类型转换 int(X) 返回一个整数 float(x) 返回一个浮点数 complex(x)、complex(x,y) 返回一个…
-
Python基础之if while for循环练习
if for while循环练习 没有边界的最好用while,有边界的最好用for 1.给定一个不超过5位数的正整数,判断其有几位 num = int(input()) if num<10: print(‘一位’) elif num<100: print(‘两位’) elif num<1000: print(‘三位’) elif num&l…
-
Linux基本命令总结
一.目录相关的命令 mkdir rmdir tree cd ls pwd 二.文件相关命令 less cat more tac rev stat head tail cut grep cp mv rm touch rename 三.分析文本的工具 wc sort uniq cut