Python基本知識

2021-09-03 07:24:29 字數 1942 閱讀 6183

單例模式,是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例的特殊類。通過單例模式可以保證系統中,應用該模式的類乙個類只有乙個例項。即乙個類只有乙個物件例項。

實現方法:裝飾器

sub(replacement, string[, count = 0 )

replacement是被替換的文字

string是需要被替換的文字

count:是乙個可選引數,指最大被替換的數量。

match()函式只檢測re是不是在string開始位置匹配,是則返回,否則返回none。search()會掃瞄整個string查詢匹配。

import random

random.random()

他會返回乙個隨機的0和1之間的浮點數。

編寫server的步驟:

1.建立socket物件。呼叫socket建構函式。

socket = socket.socket(family ,type)
family 引數代表位址家族。af_inet(包括internet位址),af_unix(可以用於同一臺機器上的程序通訊)

type引數代表套接字型別,可為sock_stream(流套接字)和sock_dgram(資料報套接字)。

socket.bind( address )
由af_inet所建立的套接字,address位址必須是乙個雙元素元組,格式是(host,port)。host代表主機,port代表埠號。如果埠號正在使用、主機名不正確或埠已被保留,bind方法將引發socket.error異常。

3.使用socket套接字的listen方法接收連線請求。

socket.listen( backlog )
backlog指定最多允許多少個客戶連線到伺服器。它的值至少為1。收到連線請求後,這些請求需要排隊,如果佇列滿,就拒絕請求。

4.伺服器套接字通過socket的accept方法等待客戶請求乙個連線。

connection, address = socket.accept()
呼叫accept方法時,socket會進入「waiting」狀態。客戶請求連線時,方法建立連線並返回伺服器。accept方法返回乙個含有兩個元素的元組(connection,address)。第乙個元素connection是新的socket物件,伺服器必須通過它與客戶通訊;第二個元素 address是客戶的internet位址。

5.處理階段,伺服器和客戶端通過send和recv方法通訊(傳輸 資料)。伺服器呼叫send,並採用字串形式向客戶傳送資訊。

send方法返回已傳送的字元個數。伺服器使用recv方法從客戶接收資訊。呼叫recv 時,伺服器必須指定乙個整數,它對應於可通過本次方法呼叫來接收的最大資料量。recv方法在接收資料時會進入「blocked」狀態,最後返回乙個字元 串,用它表示收到的資料。如果傳送的資料量超過了recv所允許的,資料會被截短。多餘的資料將緩衝於接收端。以後呼叫recv時,多餘的資料會從緩衝區 刪除(以及自上次呼叫recv以來,客戶可能傳送的其它任何資料)。

6. 傳輸結束,伺服器呼叫socket的close方法關閉連線。

python編寫client的步驟:

1. 建立乙個socket以連線伺服器:socket = socket.socket( family, type )

2.使用socket的connect方法連線伺服器。對於af_inet家族,連線格式如下:

socket.connect( (host,port) )
host代表伺服器主機名或ip,port代表伺服器程序所繫結的埠號。如連線成功,客戶就可通過套接字與伺服器通訊,如果連線失敗,會引發socket.error異常。

3. 處理階段,客戶和伺服器將通過send方法和recv方法通訊。

4. 傳輸結束,客戶通過呼叫socket的close方法關閉連線。

Python基本知識

這次主要對python基礎語法及資料型別中與我使用過的語言不一樣的地方做下記錄 單行注釋使用 多行注釋使用 和 print 開始 這是個注釋 這是個段落注釋 這也是個段落注釋 print 結束 2.沒有bool型別,用數字0和1代替,可以與數字運算,python3中新增了true和false關鍵字 ...

python基本知識

檢視安裝了哪些包 conda list 檢視有哪些虛擬環境 conda env list conda info e 建立虛擬環境 conda create n py3.6 python python3.6.4 啟用虛擬環境 activate 檢視package版本方法 在此標註自己電腦package...

Python基本知識

python的注釋 注釋分單行和多行注釋,單行注釋用 多行注釋可以用三對雙引號 若你的程式要接收使用者指令,可以用input語法 name input what is your name?print hello name 格式化列印 name input name age input age job...