python複習第一階段

2021-10-23 04:43:17 字數 4082 閱讀 8356

linux基礎命令:

cd: 切換目錄和路徑

pwd:檢視當前路徑

clear:清屏

mv:移動、剪下、重新命名檔案

ls:檢視當前資料夾下的內容

ls-a:顯示指定目錄下所有子目錄和檔案,包括隱藏檔案

ls-l:以列表方式顯示檔案的詳細資訊

touch:建立檔案

mkdir:建立目錄

mkdir -p:以遞迴形式建立目錄

more:以分屏形式檢視檔案內容

cat:檢視檔案內容

rm:刪除指定檔案

rm -f:刪除目錄

rm -rf:強制刪除

cp:拷貝檔案或者目錄0

tree:檢視當前目錄所有的檔案關係

find:查詢檔案或目錄的名字

grep:查詢檔案裡的內容

軟連線:ln -s 原檔案 目標檔案y

軟連線的概念:軟連線相當於windows的快捷方式,只是乙個符號連線,所以軟連線檔案大小都很小,當執行軟連線的時候,會根據連線指向找到真正的檔案,然後執行,如果原檔案丟失,軟連線無法訪問,會報錯。

打包:tar -cvf打包檔案

解包:tar -xvf解包檔案

壓縮:tar -zcvf 檔名.tar.gz 路徑

解壓:tar -zxvf 檔名.tar.gz 路徑 檔名

管道:ls -lh | more

管道的概念:在記憶體中建立乙個共享檔案,從而使通訊雙方利用這個共享檔案來傳遞資訊。由於這種方式具有單向傳遞資料的特點,所以這個作為傳遞訊息的共享檔案就叫做「管道」。

python物件導向

物件導向的概念:物件導向程式設計是一種程式設計方式,此程式設計方式的落地需要使用 「類」 和 「物件」 來實現,所以,物件導向程式設計其實就是對 「類」 和 「物件」 的使用。

物件導向的三大特性:封裝 繼承 多型

繼承:分為單繼承和多繼承 單繼承就是乙個類只能繼承乙個父類 而多繼承是乙個類可以繼承多個父類

封裝:把資料和行為相結合,形成乙個整體,隱藏實現細節,對外提供使用。

多型:多型依賴於繼承,乙個類的物件的引用,可以指向這個類的物件,也可以指向它的子類的物件,在程式執行之後才能知道具體執行哪個物件,通過這種形式讓程式有多種形態,被稱為多型。

父類名稱.方法名(self)

father.test1(self)

# 方法2 super().方法名()

super().test1()

# 方法3 super(子類名,self).方法名()

super(son, self).test1()

tcp和udp程式設計

tcp:傳輸控制協議

udp:使用者資料報協

tcp和udp的區別:tcp需要通訊雙方連線上才能通訊,而udp不需要連線上,但是可能會有收不到的情況。

socket:socket是套接字,網路上的倆個程式通過乙個雙向的通訊連線實現資料的交換,這個連線的一端稱為乙個socket,想要實現tcp或者udp通訊,必須用socket去完成。

三次握e手的過程:

第一次握手:首先客戶端和伺服器都處於關閉狀態,再客戶端將標誌位syn置為1,隨機產生乙個值 seq=x,並將資料報傳送給伺服器,這時客戶端進入syn-sent狀態,等待伺服器確認。

第二次握手:伺服器接收到客戶端傳送過來的資料報後由標誌位 syn=1得知客戶端請求建立連線,伺服器將標誌位syn和ack都置位1,ack=x+1,再機產生乙個值 seq=y,並將資料報傳送給客戶端以確認連線請求,伺服器進入syn-rcvd狀態,此時作業系統為tcp連線分配tcp快取和變數

第三次握手:客戶端確認後,檢測ack是否為x+1,ack是否為1,如果正確則將標誌位ack置為1,並將資料報傳送給伺服器,伺服器檢測ack是否為y+1,ack是否為1,如果正確則連線成功,完成第三次握手客戶端和伺服器就可以開始傳輸資料。

四次揮手的過程:

起初a和b處於established狀態——a發出連線釋放報文段並處於fin-wait-1狀態——b發出確認報文段且進入close-wait狀態——a收到確認後,進入fin-wait-2狀態,等待b的連線釋放報文段——b沒有要向a發出的資料,b發出連線釋放報文段且進入last-ack狀態——a發出確認報文段且進入time-wait狀態——b收到確認報文段後進入closed狀態——a經過等待計時器時間2msl後,進入closed狀態。

長連線 短連線

長連線與短連線的區別:長連線可以省去較多的tcp建立和關閉的操作,減少浪費資源,節約時間,對於頻繁請求資源的客戶來說,較適用長連線;

短連線對於伺服器來說管理較為簡單,存在的連線都是有用的連線,不需要額外的控制手段,需要關閉。

長連線:一直保持連線,傳輸完也在保持連線,除非手動斷開連線。

短連線:需要傳輸資料的時候就連線,傳輸完就斷開。

了解vim開發工具

vim是從vi發展出來的乙個文字編輯器也稱**編輯器。**補全、編譯及錯誤跳轉等方便程式設計的功能特別豐富。

vim的基本操作:

1.首先用vim 檔名,建立新的檔案,進入不同的模式

2.按i,進入插入模式可以進行編輯,進入插入模式之後游標在內容前面。

3.進入模式編輯完成後,按esc鍵可以回到普通模式

4.:w 進入儲存

5.:q 進行退出

了解git工具

git是乙個分布式版本控制軟體,是一種在開發的過程中用於管理我們對檔案、目錄或工程等內容修改歷史,方便檢視更改歷史記錄,備份以便恢復以前的版本的技術。

在我剛剛提到的git是乙個分布式版本控制軟體,這個分布式是一種版本控制的方式,有乙個中心的伺服器控制最新版本**,每個開發者自己還有個本地倉庫,在開發過程中先將**提交到本地倉庫在推送到中心伺服器上。

程序和執行緒

執行緒的概念:執行緒是作業系統能夠進行運算排程的最小單位,它被包含在程序之中,是程序中的實際運作單位.

程序的概念:程序(process)是計算機中的程式關於某資料集合上的一次執行活動,是系統進行資源分配和排程的基本單位,是作業系統結構的基礎。

執行緒實現**:

import threading (執行緒的導包)

import time

def run(n):

print("task", n)

time.sleep(1)

print('2s')

time.sleep(1)

print('1s')

time.sleep(1)

print('0s')

time.sleep(1)

if __name__ == '__main__':

t1 = threading.thread(target=run, args=("t1",)) 建立執行緒物件

t2 = threading.thread(target=run, args=("t2",))

t1.start()

t2.start()

程序實現**:

def func(i):

time.sleep(1)

print('這裡是子程序')

if __name__ == '__main__':

p = process(target=func, args=(1,)) 例項化乙個程序物件

p.start() 開啟乙個子程序

print('這裡是父程序')

注意:target表示呼叫物件,你可以傳入方法的名字

args表示被呼叫物件的位置引數元組,比如target是函式a,他有兩個引數m,n,那麼args就傳入(m, n)即可

kwargs表示呼叫物件的字典

佇列 棧 鎖

佇列:是一種容器,資料先入先出  執行緒佇列導包方法:queue.queue 程序對列導包方法:multiprocessing.queue

棧:是一種容器,資料先入後出

鎖:鎖就是當多個執行緒幾乎同時修改某乙個共享資料的時候,需要進行同步控制。

鎖的作用:當某個執行緒更改共享資料的時候,先將鎖住,其他執行緒不能更改,互斥鎖保證了每次只有乙個執行緒進行寫入操作,從而保證了多執行緒情況下資料的正確性。

Hadoop第一階段複習 3

mapreduce 一.mapreduce是個分布式運算程 序的程式設計框架,是使用者開發 基於hadoop的 資料分析應用 的核心框架。mapreduce核心功能是將使用者編寫的業務邏輯 和自帶預設元件整合成乙個 完整的分布式運算程式,併發執行在乙個hadoop集群 上。二.mapreduce優缺...

第一階段練習

1 輸入乙個整數,把該整數分別按照八進位制 十進位制 十六進製制形式輸出 include stdio.h main 2 輸入乙個小數 整數部分3位 小數部分5位 把該小數分別按照以下格式輸出 小數部分4位寬度,整個數字8位寬度 小數部分3位寬度,整個數字9位寬度,空白部分使用0填充 include ...

第一階段 2015 12 2016 03

距離上一次寫部落格,大半年就過去了,這半年,都做了些什麼呢,生活又都有些什麼變化呢。2015的下半年是收穫的半年吧。第二,學ios的過程中結識了新的朋友,耳機哥,是很棒的一件事。第三,得到了乙份很美滿的愛情。最終在一起,還好沒錯過。第四,開始正視自己的不足,不再逃避,開始認真製作簡歷,並開始找工作,...