原创 老圖:用掃把去理解面向對象

繼承:繼承自拖拉機,實現了掃地接口 封裝:清潔工無需知道如何運作,開動即可 多態:平時掃地,天熱可以當風扇 多線程:多個掃把同時工作 低耦合:掃把可以換作拖把,不影響其他 組件化:每個配件都是可單獨使用的工具 代碼託管:無需管理垃圾,

原创 靜態屬性+類方法

之前學過一個技巧叫裝飾器,有一個類提供的方法叫property,他可以封裝你寫的邏輯,然後讓用戶調用的時候完全感知不到在調用後端的什麼邏輯 class Shuichi: def __init__(self,chang,kuan

原创 個人理解的面向對象

面向對象是一種編程思想,編程的目的是爲了讓計算機幫我完成一件事,衍生出現在的人機交互 我覺得就是功能和特徵寫好,然後讓類去使用、或者說是與類去交互,就是面向對象。。。 #類:把一類事物的相同的特徵和動作整合到一起,就是類 #類是一個抽

原创 日誌logging模塊

日誌是分級別的,一般分爲以下五組級別 import logging logging.debug ('debug message') logging.info('info message') logging.warning('warni

原创 python正則表達式

在python中,正則是一個引過來的模塊,叫re模塊 就本質來說,正則表達式是一種小型的,高度專業化的編程語言,內嵌在python中 正則的作用簡單來說就是模糊匹配,而且只對字符串處理,而且由於它是由C編寫的所以運行速度特別的快 1、

原创 json的功能和方法

json的模塊是爲了讓任何語言之間傳送 json就兩個方法,一個dumps一個loads 如果使用json.dumps(),就會把內容轉換成爲json字符串模式,而且單引號會變成雙引號,數字、列表,無論是什麼類型的內容都會變成字符串形

原创 random寫五位隨機碼

random是隨機的內容 random.random()爲0-1的浮點型的隨機數 random.randint是給整形的隨機數,需要給出範圍 random.choice是給一個列表或者元祖什麼的時候想取其中隨機的一個值的時候就可以用c

原创 OS模塊需要記住的方法

os.getcwd() 獲取當前工作目錄,即當前python腳本工作的目錄路徑 os.chdir(“dirname”) 改變當前腳本工作目錄;相當於shell下cd os.makedirs(‘dirname1/dirname2’)

原创 模塊、包與暫時修改文件的絕對路徑

學函數是爲了避免大量的重複代碼~ 模塊也是如此~但是爲了邏輯更清晰一點,不同功能的代碼要放到不同的py文件當中,每一個.py文件就是一個模塊 模塊一共有三種: 1、python標準庫 2、第三方模塊(比如說pip命令自定義安裝模塊)

原创 閉包加參數

首先寫一個裝飾器,對閉包進行修改 import time def timmer(func): def wapper(): start_time = time.time() res = func() stop_time =

原创 裝飾器 = 高階函數+函數嵌套+閉包

裝飾器:本質上就是函數,功能室爲其他函數添加附加功能 裝飾器的原則: 1、不修改被修飾函數的源代碼 2、不修改被修飾函數的調用方式 裝飾器的知識儲備: 裝飾器 = 高階函數+函數嵌套+閉包 一、高階函數的定義: 1、函數接收的參數是一

原创 三元運算,生成器表達式,列表解析

生成器是可迭代對象,可以理解成爲一種數據類型,這種數據類型自動實現了迭代器協議(其他的數據類型需要調用自己內置的__iter__方法) 在python中有兩種表現形式,一種是以函數的形式yield(),二是生成器表達式 yield()

原创 迭代器和for循環機制

什麼是遞歸,之前舉過一個問路的例子,A問B,B問C,C問D 最後一個一個的返回結果,這叫遞歸 什麼是迭代,每次結果都是依賴於上一次結果爲迭代,問路例子,A問B,B讓A去問C,A去問C,C讓A去問D,就是這樣 迭代器協議是指: 1、對象

原创 pytho文件操作

一、文件處理的流程 1、打開文件,得到穩健的句柄,並賦值給一個變量 2、通過句柄對文件進行操作 3、關閉文件 文件處理有多個模式,最常用的就只有’r’,‘w’,'a’三個模式,r模式是讀,w模式是寫,a模式是追加 q = open(‘

原创 內置函數二

ord():chr會表示輸入的值在ascii中表示什麼內容,ord是相反的,ord輸入個字符,會表示在ascii中對應的數字 pow():要寫三個參數,寫兩個參數的話是幾**幾,就是幾和幾的平方,輸入三個值pow(3,3,2)就是三的