跟老齊學(xué)Python之一個(gè)免費(fèi)的實(shí)驗(yàn)室
在學(xué)生時(shí)代,就羨慕實(shí)驗(yàn)室,老師在里面可以鼓搗各種有意思的東西。上大學(xué)的時(shí)候,終于有機(jī)會(huì)在實(shí)驗(yàn)室做大量實(shí)驗(yàn)了,因?yàn)槲沂俏锢硐?,并且,遇到了一位非常令我尊敬的老師——高老師,讓我在他的?shí)驗(yàn)室里面,把所有已經(jīng)破舊損壞的實(shí)驗(yàn)儀器修理裝配好,并且按照要求做好實(shí)驗(yàn)樣例。經(jīng)過(guò)一番折騰,才明白,要做好實(shí)驗(yàn),不僅僅花費(fèi)精力,還有不菲的設(shè)備成本呢。后來(lái)工作的時(shí)候,更感覺(jué)到實(shí)驗(yàn)設(shè)備費(fèi)用之高昂,因此做實(shí)驗(yàn)的時(shí)候總要小心翼翼。
再后來(lái),終于發(fā)現(xiàn)原來(lái)計(jì)算機(jī)是一個(gè)最好的實(shí)驗(yàn)室。在這里做實(shí)驗(yàn)成本真的很低呀。
扯的遠(yuǎn)了吧。不遠(yuǎn),現(xiàn)在就扯回來(lái)。學(xué)習(xí)Python,也要做實(shí)驗(yàn),也就是嘗試性地看看某個(gè)命令到底什么含義。通過(guò)實(shí)驗(yàn),研究清楚了,才能在編程實(shí)踐中使用。
怎么做Python實(shí)驗(yàn)?zāi)兀?/p>
走進(jìn)Python實(shí)驗(yàn)室
在《集成開發(fā)環(huán)境(IDE)》一章中,我們介紹了Python的IDE時(shí),給大家推薦了IDLE,進(jìn)入到IDLE中,看到>>>符號(hào),可以在后面輸入一行指令。其實(shí),這就是一個(gè)非常好的實(shí)驗(yàn)室。
另外一個(gè)實(shí)驗(yàn)室就是UNIX操作系統(tǒng)(包含各種Linux和Mac OSx)的shell,在打開shell之后,輸入python,出現(xiàn)如下圖所示:
如果看官是用windows的,也能夠通過(guò)cmd來(lái)獲得上圖類似的界面,依然是輸入python,之后得到界面。
在上述任何一個(gè)環(huán)境中,都可以輸入指令,敲回車鍵運(yùn)行并輸出結(jié)果。
在這里你可以隨心所欲實(shí)驗(yàn)。
交互模式下進(jìn)行實(shí)驗(yàn)
前面的各講中,其實(shí)都使用了交互模式。本著循序漸進(jìn)、循環(huán)上升的原則,本講應(yīng)該對(duì)交互模式進(jìn)行一番深入和系統(tǒng)化了。
通過(guò)變量直接顯示其內(nèi)容
從例子開始:
>>> a="http://qiwsir.github.io" >>> a 'http://qiwsir.github.io' >>> print a http://qiwsir.github.io
當(dāng)給一個(gè)變量a賦值于一個(gè)字符串之后,輸入變量名稱,就能夠打印出字符串,和print a具有同樣的效果。這是交互模式下的一個(gè)特點(diǎn),如果在文件模式中,則不能,只有通過(guò)print才能打印變量?jī)?nèi)容。
縮進(jìn)
>>> if bool(a): ... print "I like python" ... I like python
對(duì)于if語(yǔ)句,在上一講《從if開始語(yǔ)句的征程》中,已經(jīng)注意到,if下面的執(zhí)行語(yǔ)句要縮進(jìn)四個(gè)空格。在有的python教材中,說(shuō)在交互模式下不需要縮進(jìn),可能是針對(duì)python3或者其它版本,我使用的是python2.7,的確需要縮進(jìn)。上面的例子就看出來(lái)了。
看官在自己的機(jī)器上測(cè)試一下,是不是需要縮進(jìn)?
報(bào)錯(cuò)
在一個(gè)廣告中看到過(guò)這樣一句話:程序員的格言,“不求最好,只求報(bào)錯(cuò)”。報(bào)錯(cuò),對(duì)編程不是壞事。如何對(duì)待報(bào)錯(cuò)呢?
一定要認(rèn)真閱讀所提示的錯(cuò)誤信息。
還是上面那個(gè)例子,我如果這樣寫:
>>> if bool(a): ... print "I like python" File "<stdin>", line 2 print "I like python" ^ IndentationError: expected an indented block
從錯(cuò)誤信息中,我們可以知道,第二行錯(cuò)了。錯(cuò)在什么地方呢?python非常人性化就在這里,告訴你錯(cuò)誤在什么地方:
IndentationError: expected an indented block
意思就是說(shuō)需要一個(gè)縮進(jìn)塊。也就是我沒(méi)有對(duì)第二行進(jìn)行縮進(jìn),需要縮進(jìn)。
另外,順便還要提醒,>>>表示后面可以輸入指令,...表示當(dāng)前指令沒(méi)有結(jié)束。要結(jié)束并執(zhí)行,需要敲擊兩次回車鍵。
探索
如果看官對(duì)某個(gè)指令不了解,或者想試試某種操作是否可行,可以在交互模式下進(jìn)行探索,這種探索的損失成本非常小,充其量就是報(bào)錯(cuò)。而且從報(bào)錯(cuò)信息中,我們還能得到更多有價(jià)值的內(nèi)容。
例如,在《眼花繚亂的運(yùn)算符》中,提到了布爾運(yùn)算,其實(shí),在變量的類型中,除了前面提到的整數(shù)型、字符串型,布爾型也是一種,那么布爾型的變量有什么特點(diǎn)呢?下面就探索一下:
>>> a 'http://qiwsir.github.io' >>> bool(a) #布爾型,用bool()表示,就類似int(),str(),是一個(gè)內(nèi)置函數(shù) True >>> b="" >>> bool(b) False >>> bool(4>3) True >>> bool(4<3) False >>> m=bool(b) >>> m False >>> type(m) <type 'bool'> >>>
從上面的實(shí)驗(yàn)可以看出,如果對(duì)象是空,返回False,如果不是,則返回True;如果對(duì)象是False,返回False。上面探索,還可以擴(kuò)展到其它情況??垂倌懿荒芡ㄟ^(guò)探索,總結(jié)出bool()的特點(diǎn)呢?
相關(guān)文章
使用Python處理KNN分類算法的實(shí)現(xiàn)代碼
KNN分類算法(K-Nearest-Neighbors?Classification),又叫K近鄰算法,是一個(gè)概念極其簡(jiǎn)單,而分類效果又很優(yōu)秀的分類算法,這篇文章主要介紹了使用Python處理KNN分類算法,需要的朋友可以參考下2022-09-09淺談算法之最小生成樹Kruskal的Python實(shí)現(xiàn)
最小生成樹Kruskal算法可以稱為“加邊法”,初始最小生成樹邊數(shù)為0,每迭代一次就選擇一條滿足條件的最小代價(jià)邊,加入到最小生成樹的邊集合里。本文將介紹它的原理,并用Python進(jìn)行實(shí)現(xiàn)2021-06-06Windows中使用wxPython和py2exe開發(fā)Python的GUI程序的實(shí)例教程
wxPython是一款集成了Python的圖形化類庫(kù)的工具,而py2exe是一款將Python程序轉(zhuǎn)換為exe可執(zhí)行文件的程序,二者搭配可以輕松地在Windows中創(chuàng)建圖形化程序,這里我們就來(lái)學(xué)習(xí)Windows中使用wxPython和py2exe開發(fā)Python的GUI程序的實(shí)例教程:2016-07-07Python實(shí)現(xiàn)字典按照value進(jìn)行排序的方法分析
這篇文章主要介紹了Python實(shí)現(xiàn)字典按照value進(jìn)行排序的方法,結(jié)合實(shí)例形式分析了Python字典按照value進(jìn)行排序的相關(guān)操作技巧,需要的朋友可以參考下2017-12-12Python實(shí)現(xiàn)的多線程端口掃描工具分享
這篇文章主要介紹了Python實(shí)現(xiàn)的多線程端口掃描工具分享,工具實(shí)現(xiàn)了掃單IP和掃IP段功能,本文給出運(yùn)行效果和實(shí)現(xiàn)源碼,需要的朋友可以參考下2015-01-01詳解使用python3.7配置開發(fā)釘釘群自定義機(jī)器人(2020年新版攻略)
這篇文章主要介紹了詳解使用python3.7配置開發(fā)釘釘群自定義機(jī)器人(2020年新版攻略),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04pycharm2020.1.2永久破解激活教程,實(shí)測(cè)有效
很多使用pycharm2020.1.2版本的朋友,不知道如何激活破解,這篇文章主要介紹了pycharm2020.1.2永久破解激活教程,經(jīng)小編實(shí)測(cè)有效,需要的朋友可以參考下2020-10-10