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