原创 Python排序算法之插入排序

實際上,我們在對撲克牌進行排序時就已經使用了插入排序算法。回想一下玩撲克牌時,是怎麼進行排序的(這裏是升序爲例子)。 1.拿到一副順序雜亂的撲克牌(類比亂序的列表lst); 2.以最左邊的撲克牌爲基準(列表中索引爲0的元素),與之

原创 Python世界裏的魔術方法(一)

序言 傳說中,Python對象天生具有一些神奇的方法,它們具有一些魔力,因此它們總被雙下劃線所包圍着。這些方法統稱爲魔術方法。在特定的操作下,這些魔術方法會被自動調用,並且表現出許多神奇的現象。 它們是Python面向對象下智慧的

原创 Docker學習之三:docker鏡像管理

Docker鏡像 一個host可以啓動多個容器,基於鏡像可在容器中啓動不同的應用。如果本地無此鏡像,docker可自動連接到docker registry上下載鏡像,存儲到本地文件系統(如overlay2)中。由於鏡像的格式是分層

原创 Docker學習之四:容器虛擬化網絡與docker網絡

虛擬化網絡的原理簡述 Linux內核支持六種名稱空間,只要在用戶空間有相應的客戶端工具,都可以對對應的名稱空間進行操作。 假如物理機有四塊網卡,可以創建兩個名稱空間,此時可靈活將網卡分配到單獨的名稱空間中。 一般一個設備只能屬於一

原创 Docker學習之六:基於Dockerfile構建鏡像

鏡像製作 一般鏡像的製作,通常需要修改鏡像的配置文件,比如nginx的配置文件,可以通過以下的方式: 將配置文件做成存儲卷,從宿主機編輯好之後,啓動容器時應用程序加載配置文件的路徑並和宿主機的目錄建立關聯關係。容器內也能修改好配

原创 淺談Python中的反射

反射 reflection,指運行時獲取類型定義的信息。 一個對象能夠在運行時,如同照鏡子一樣,反射出其類型信息。簡單而言,在Python中,能夠通過一個對象,找出其type、class、attribute或者method的能力,

原创 淺談Python中的描述器

描述器 對於Python的描述器的作用,我們可以先記住一句話:描述器是描述類的屬性的。 描述器的魔術方法 先思考下面程序的執行流程: class A: def __init__(self): self.a1