python高級(jí)中的單例魄眉、異常、模塊

一闷袒、單例模式

單例模式
確保某一個(gè)類只有一個(gè)實(shí)例坑律,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例,這個(gè)類稱為單例類囊骤,單例模式是一種對(duì)象創(chuàng)建型模式晃择。

創(chuàng)建單例保證只有一個(gè)對(duì)象

二、異常淘捡。

什么是異常

異常通常指,你的代碼可能在編譯時(shí)沒有錯(cuò)誤,可是運(yùn)行時(shí)會(huì)出現(xiàn)異常藕各。

捕捉異常

捕獲異常是指發(fā)生異常時(shí),最相應(yīng)處理,避免程序崩潰
try:
可能引起異常的代碼
except:
對(duì)異常的處理代碼
結(jié)構(gòu)是

try:
可能引起異常的代碼
except:
對(duì)異常的處理代碼 

捕獲異常 try...except...


try:
      print("test") 
      open("123.txt","r")
except TOError:
      pass 

可能產(chǎn)生異常的代碼要放在try里
pass是錯(cuò)誤時(shí)的處理方法

捕獲所有異常

有時(shí)候我們已經(jīng)捕獲了異常但是還會(huì)報(bào)錯(cuò)因?yàn)槲覀儾东@的類型不一樣這個(gè)時(shí)候我們可以用到能捕獲所有異常的代碼 Exception

try:
      open("a.txt","r")
except Exception as result
      print("捕獲到了異常")
      print(“捕獲的異常為”焦除,result)

else

咱們應(yīng)該對(duì)else并不陌生激况,在if中,它的作用是當(dāng)條件不滿足時(shí)執(zhí)行的實(shí)行膘魄;同樣在try…except…中也是如此乌逐,即如果沒有捕獲到異常,那么就執(zhí)行else中的事情

try:
    num = 100
    print(num)
else:
    print("沒有異常真高興")  

finally

在程序中创葡,如果一個(gè)段代碼必須要執(zhí)行浙踢,即無(wú)論異常是否產(chǎn)生都要執(zhí)行,那么此時(shí)就需要使用finally灿渴。 比如文件關(guān)閉洛波,釋放鎖,把數(shù)據(jù)庫(kù)連接返還給連接池等

拋出自定義異常

你可以用raise語(yǔ)句來(lái)引發(fā)一個(gè)異常骚露。異常/錯(cuò)誤對(duì)象必須有一個(gè)名字蹬挤,且它們應(yīng)是Error或Exception類的子類

異常處理中拋出異常

拋出異常相當(dāng)于是說:“停止運(yùn)行這個(gè)函數(shù)中的代碼,將程序執(zhí)行轉(zhuǎn)到 except 語(yǔ)句 ”棘幸。

class Test(object):
   def __init__(self, switch):
       self.switch = switch #開關(guān)
    def calc(self, a, b):
        try:
            return a/b
        except Exception as result:
            if self.switch:
                print("捕獲開啟焰扳,已經(jīng)捕獲到了異常,信息如下:")
                print(result)
            else:
                #重新拋出這個(gè)異常,此時(shí)就不會(huì)被這個(gè)異常處理給捕獲到吨悍,從而觸發(fā)默認(rèn)的異常處理
                raise


a = Test(True)
a.calc(11,0)

print("----------------------華麗的分割線----------------")

a.switch = False
a.calc(11,0)

三扫茅、模塊

什么在Python中有一個(gè)概念叫做模塊(module),這個(gè)和C語(yǔ)言中的頭文件以及Java中的包很類似育瓜,比如在Python中要調(diào)用sqrt函數(shù)葫隙,必須用import關(guān)鍵字引入math這個(gè)模塊,下面就來(lái)了解一下Python中的模塊爆雹。
說的通俗點(diǎn):模塊就好比是工具包停蕉,要想使用這個(gè)工具包中的工具(就好比函數(shù)),就需要導(dǎo)入這個(gè)模塊是模塊

import

在Python中用關(guān)鍵字import來(lái)引入某個(gè)模塊钙态,比如要引用模塊math慧起,就可以在文件最開始的地方用import math來(lái)引入。
形如:

import module1,mudule2...

有時(shí)候我們只需要用到模塊中的某個(gè)函數(shù)册倒,只需要引入該函數(shù)即可蚓挤,此時(shí)可以用下面方法實(shí)現(xiàn):

from 模塊名 import 函數(shù)名1,函數(shù)名2....

from … import *

把一個(gè)模塊的所有內(nèi)容全都導(dǎo)入到當(dāng)前的命名空間也是可行的。

as

為模塊更換名字 import 模塊名 as 別名 簡(jiǎn)化代碼編寫

模塊的制作

在Python中驻子,每個(gè)Python文件都可以作為一個(gè)模塊灿意,模塊的名字就是文件的名字。
比如有這樣一個(gè)文件test.py崇呵,在test.py中定義了函數(shù)add

test.py

def add(a,b):
return a+b
調(diào)用自己定義的模塊
import test
result = test.add(11,22)
print(result)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末缤剧,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子域慷,更是在濱河造成了極大的恐慌荒辕,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件犹褒,死亡現(xiàn)場(chǎng)離奇詭異抵窒,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)叠骑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門李皇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人宙枷,你說我怎么就攤上這事掉房。” “怎么了慰丛?”我有些...
    開封第一講書人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵圃阳,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我璧帝,道長(zhǎng),這世上最難降的妖魔是什么富寿? 我笑而不...
    開封第一講書人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任睬隶,我火速辦了婚禮锣夹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘苏潜。我一直安慰自己银萍,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開白布恤左。 她就那樣靜靜地躺著贴唇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪飞袋。 梳的紋絲不亂的頭發(fā)上戳气,一...
    開封第一講書人閱讀 51,482評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音巧鸭,去河邊找鬼瓶您。 笑死,一個(gè)胖子當(dāng)著我的面吹牛纲仍,可吹牛的內(nèi)容都是我干的呀袱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼郑叠,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼夜赵!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起乡革,我...
    開封第一講書人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤寇僧,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后署拟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體婉宰,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年推穷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了心包。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡馒铃,死狀恐怖蟹腾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情区宇,我是刑警寧澤娃殖,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站议谷,受9級(jí)特大地震影響炉爆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一芬首、第九天 我趴在偏房一處隱蔽的房頂上張望赴捞。 院中可真熱鬧,春花似錦郁稍、人聲如沸赦政。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)恢着。三九已至,卻和暖如春财破,著一層夾襖步出監(jiān)牢的瞬間掰派,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工狈究, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留碗淌,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓抖锥,卻偏偏與公主長(zhǎng)得像亿眠,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子磅废,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容