記錄我不扎實(shí)的基本功
str()是什么铸磅?
如果一個(gè)類中定義了__str__
,當(dāng)print
類的實(shí)例的時(shí)候把敞,就會(huì)執(zhí)行__str__
里面的代碼異常的捕捉
try... except...else.....finally
1. 不管except 或者 else 里面是否有return蒲肋,finally里面的代碼都會(huì)執(zhí)行
2. 比如你捕捉的異常是你自己定義的一個(gè)異常類袱吆,這個(gè)異常類中定義了__str__ 方法,如何打印出str中的東西呢辜纲,方法是 用一個(gè)except someException as e ,print e就行了
- 一些代碼規(guī)范:
1. import 的時(shí)候笨觅,先內(nèi)置庫,在第三方庫耕腾,最后導(dǎo)入自己寫的文件
并且按字母順序排序
2. 文件開頭寫好 # -*- coding:utf-8 -*-
3. 私有屬性和私有方法见剩,開頭都加上下劃線
4. 一個(gè)函數(shù)不要太長(zhǎng),如果邏輯很多的話扫俺,拆分成幾個(gè)函數(shù)
5. 有錯(cuò)誤苍苞,最好是自定義異常,然后主動(dòng)拋出異常牵舵,在使用的時(shí)候捕捉異常
6. 文件開頭不空行柒啤,也就是 # -*-。畸颅。。 和 import之間
- 使用unittest進(jìn)行單元測(cè)試
首先方援,import unittest
5. schedule 是一個(gè)定時(shí)任務(wù)的模塊
6. property 屬性的setter方法:
![image.png](http://upload-images.jianshu.io/upload_images/9693291-f38181dc954d9500.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
7. 消息對(duì)列没炒,發(fā)布訂閱模式,生產(chǎn)者消費(fèi)者模型
1. 解耦
2. 提速
3. 廣播
4. 削峰:把所有來到的請(qǐng)求都?jí)旱较㈥?duì)列犯戏,服務(wù)器還按自己的能力一點(diǎn)一點(diǎn)處理請(qǐng)求送火,至少不至于宕機(jī)
缺點(diǎn):
1. 引入了復(fù)雜度
2. 消息的暫時(shí)的不一致性