【查漏補缺】Python裝飾器、數(shù)據(jù)庫161~180

161.當(dāng)代碼執(zhí)行到一個函數(shù)的裝飾器那行代碼時,此時被裝飾的函數(shù)的指向已經(jīng)指向了裝飾器內(nèi)部的函數(shù)。說白了就是:裝飾器在在Python解釋器解釋時就已經(jīng)進(jìn)行裝飾了,與被裝飾函數(shù)調(diào)用不調(diào)用無關(guān)。這一點要特別注意。

162.同一個裝飾可對多個函數(shù)進(jìn)行裝飾,每一次裝飾,相當(dāng)于創(chuàng)建了一個閉包。

163.裝飾器是對函數(shù)進(jìn)行裝飾的。多個裝飾器對同一個函數(shù)進(jìn)行裝飾時,裝飾順序是從下到上,執(zhí)行順序是從上到下。

@log
@time
@check
def test():
    pass

裝飾順序是從下到上,即check--time--log,執(zhí)行順序是從上到下log--time--check。

164.用類名作為裝飾器,實際上會調(diào)用類的__call__方法。

165.帶參數(shù)的裝飾器,實際上是分為了2步:一、先調(diào)用這個帶參數(shù)的裝飾器函數(shù),并傳入實參。二、用上一步驟的返回值作為真正的裝飾器進(jìn)行裝飾。

166.假如Person類中有一個國籍屬性nationality="中國",則用Person類創(chuàng)建的對象p.nationality="美國"直接去修改類屬性的值,是修改不成功的。這么做的結(jié)果是動態(tài)地為對象p新增了一個臨時實例屬性nationality="美國"。要想修改類屬性,則可以通過對象.__class__.類屬性。這一點要特別注意。

167.數(shù)據(jù)庫:char(20)表示長度固定為20個字符,不足的后面補空格。
varchar(20)表示有幾個字符存幾個,但最大可存20個字符。小于此最大限度的原樣存儲,不會補充空格。大于此最大限度的,將無法存儲。

168.數(shù)據(jù)庫: primary key主鍵:用來唯一標(biāo)記一條記錄的字段。說白了就是,主鍵是該條記錄的"身份證"。
foreign key外鍵:一個表中某字段的值是另一張表的主鍵。

169.數(shù)據(jù)庫:當(dāng)為關(guān)系型字段寫值時,會到關(guān)聯(lián)的表中查詢此值是否存在,如果存在則填寫成功,否則會填寫失敗并拋出異常。

170.數(shù)據(jù)庫:雖然外鍵約束可以保證數(shù)據(jù)的有效性,但是在進(jìn)行數(shù)據(jù)的增刪改查時,會到關(guān)聯(lián)的表中查詢此值是否存在,會降低數(shù)據(jù)庫的性能,所以不推薦使用。那么數(shù)據(jù)庫的性能如何保證呢?答:可以在邏輯層進(jìn)行控制。

171.數(shù)據(jù)庫:進(jìn)入數(shù)據(jù)庫:-uroot -p;
退出數(shù)據(jù)庫:exit/quit/ctrl + d;

172.數(shù)據(jù)庫:顯示所有的數(shù)據(jù)庫:show databases;

173.數(shù)據(jù)庫:顯示數(shù)據(jù)庫當(dāng)前時間:select now();

174.數(shù)據(jù)庫:顯示數(shù)據(jù)庫版本:select version();

175.創(chuàng)建數(shù)據(jù)庫:create database 數(shù)據(jù)庫名;或者create database 數(shù)據(jù)庫名 charset=utf8;特別注意:這里是utf8不是utf-8,寫成utf-8會報錯。

176.查看如何創(chuàng)建的數(shù)據(jù)庫:show create database 數(shù)據(jù)庫名;這里show時數(shù)據(jù)庫名后面不需要編碼,加上會報錯!

177.刪除數(shù)據(jù)庫:drop database 數(shù)據(jù)庫名;如果數(shù)據(jù)庫名中因含有特殊字符,無法被識別,則可以通過一對``來括住數(shù)據(jù)庫名,就能被當(dāng)成一個整體被識別了。

178.使用數(shù)據(jù)庫:use 數(shù)據(jù)庫名;利用此語句可以在數(shù)據(jù)庫之間任意切換。

179.查看當(dāng)前用的哪個數(shù)據(jù)庫:select database();

180.只有在使用某個數(shù)據(jù)庫的前提下,才創(chuàng)建數(shù)據(jù)表。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容