第二章 Python語法基礎(chǔ),IPython和Jupyter Notebooks

1.魔術(shù)命令

IPython中特殊的命令(Python中沒有)被稱作“魔術(shù)”命令。這些命令可以使普通任務(wù)更便捷隔箍,更容易控制IPython系統(tǒng)。魔術(shù)命令是在指令前添加百分號(hào)%前綴脚乡。例如蜒滩,可以用%timeit(這個(gè)命令后面會(huì)詳談)測量任何Python語句,例如矩陣乘法奶稠,的執(zhí)行時(shí)間:

In [20]: a = np.random.randn(100, 100)
In [20]: %timeit np.dot(a, a)
10000 loops, best of 3: 20.9 μs per loop
一些常用的IPython魔術(shù)命令

魔術(shù)函數(shù)一重要用法---%matplotlib

%matplotlib魔術(shù)函數(shù)配置了IPython shell和Jupyter notebook中的matplotlib帮掉。這點(diǎn)很重要,其它創(chuàng)建的圖不會(huì)出現(xiàn)(notebook)或獲取session的控制窒典,直到結(jié)束(shell)蟆炊。
在IPython shell中,運(yùn)行%matplotlib可以進(jìn)行設(shè)置瀑志,可以創(chuàng)建多個(gè)繪圖窗口涩搓,而不會(huì)干擾控制臺(tái)session:

In [26]: %matplotlib
Using matplotlib backend: Qt4Agg

在JUpyter中,命令有所不同:

In [26]: %matplotlib inline
Jupyter行內(nèi)matplotlib作圖

2.變量和參數(shù)傳遞???

當(dāng)在Python中創(chuàng)建變量(或名字)劈猪,你就在等號(hào)右邊創(chuàng)建了一個(gè)對(duì)這個(gè)變量的引用昧甘。考慮一個(gè)整數(shù)列表:

In [8]: a = [1, 2, 3][圖片上傳中...(image-4f00ae-1552376623108)]

假設(shè)將a賦值給一個(gè)新變量b:

In [9]: b = a

在有些方法中战得,這個(gè)賦值會(huì)將數(shù)據(jù)[1, 2, 3]也復(fù)制充边。在Python中,a和b實(shí)際上是同一個(gè)對(duì)象常侦,即原有列表[1, 2, 3](見圖2-7)浇冰。你可以在a中添加一個(gè)元素,然后檢查b:

In [10]: a.append(4)
In [11]: b
Out[11]: [1, 2, 3, 4]
對(duì)同一對(duì)象的雙重引用

筆記:賦值也被稱作綁定聋亡,我們是把一個(gè)名字綁定給一個(gè)對(duì)象肘习。變量名有時(shí)可能被稱為綁定變量。

當(dāng)你將對(duì)象作為參數(shù)傳遞給函數(shù)時(shí)坡倔,新的局域變量創(chuàng)建了對(duì)原始對(duì)象的引用漂佩,而不是復(fù)制脖含。如果在函數(shù)里綁定一個(gè)新對(duì)象到一個(gè)變量,這個(gè)變動(dòng)不會(huì)反映到上一層投蝉。因此可以改變可變參數(shù)的內(nèi)容养葵。假設(shè)有以下函數(shù):

def append_element(some_list, element):
    some_list.append(element)

然后有:

In [27]: data = [1, 2, 3]

In [28]: append_element(data, 4)

In [29]: data
Out[29]: [1, 2, 3, 4]

3.日期和時(shí)間

Python內(nèi)建的datetime模塊提供了datetime、date和time類型瘩缆。datetime類型結(jié)合了date和time关拒,是最常使用的:

In [102]: from datetime import datetime, date, time

In [103]: dt = datetime(2011, 10, 29, 20, 30, 21)

In [104]: dt.day
Out[104]: 29

In [105]: dt.minute
Out[105]: 30

根據(jù)datetime實(shí)例,你可以用date和time提取出各自的對(duì)象:

In [106]: dt.date()
Out[106]: datetime.date(2011, 10, 29)

In [107]: dt.time()
Out[107]: datetime.time(20, 30, 21)

strftime方法可以將datetime格式化為字符串:

In [108]: dt.strftime('%m/%d/%Y %H:%M')
Out[108]: '10/29/2011 20:30'

strptime可以將字符串轉(zhuǎn)換成datetime對(duì)象:

In [109]: datetime.strptime('20091031', '%Y%m%d')
Out[109]: datetime.datetime(2009, 10, 31, 0, 0)

表2-5列出了所有的格式化命令咳榜。



當(dāng)你聚類或?qū)r(shí)間序列進(jìn)行分組夏醉,替換datetimes的time字段有時(shí)會(huì)很有用。例如涌韩,用0替換分和秒:

In [110]: dt.replace(minute=0, second=0)
Out[110]: datetime.datetime(2011, 10, 29, 20, 0)

因?yàn)閐atetime.datetime是不可變類型畔柔,上面的方法會(huì)產(chǎn)生新的對(duì)象。
兩個(gè)datetime對(duì)象的差會(huì)產(chǎn)生一個(gè)datetime.timedelta類型:

In [111]: dt2 = datetime(2011, 11, 15, 22, 30)

In [112]: delta = dt2 - dt

In [113]: delta
Out[113]: datetime.timedelta(17, 7179)

In [114]: type(delta)
Out[114]: datetime.timedelta

結(jié)果timedelta(17, 7179)指明了timedelta將17天臣樱、7179秒的編碼方式靶擦。
將timedelta添加到datetime,會(huì)產(chǎn)生一個(gè)新的偏移datetime:

In [115]: dt
Out[115]: datetime.datetime(2011, 10, 29, 20, 30, 21)

In [116]: dt + delta
Out[116]: datetime.datetime(2011, 11, 15, 22, 30)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末雇毫,一起剝皮案震驚了整個(gè)濱河市玄捕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌棚放,老刑警劉巖枚粘,帶你破解...
    沈念sama閱讀 218,036評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異飘蚯,居然都是意外死亡馍迄,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門局骤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來攀圈,“玉大人,你說我怎么就攤上這事峦甩∽咐矗” “怎么了?”我有些...
    開封第一講書人閱讀 164,411評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵凯傲,是天一觀的道長犬辰。 經(jīng)常有香客問我,道長泣洞,這世上最難降的妖魔是什么忧风? 我笑而不...
    開封第一講書人閱讀 58,622評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮球凰,結(jié)果婚禮上狮腿,老公的妹妹穿的比我還像新娘。我一直安慰自己呕诉,他們只是感情好缘厢,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著甩挫,像睡著了一般贴硫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上伊者,一...
    開封第一講書人閱讀 51,521評(píng)論 1 304
  • 那天英遭,我揣著相機(jī)與錄音,去河邊找鬼亦渗。 笑死挖诸,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的法精。 我是一名探鬼主播多律,決...
    沈念sama閱讀 40,288評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼搂蜓!你這毒婦竟也來了狼荞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,200評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤帮碰,失蹤者是張志新(化名)和其女友劉穎相味,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體殉挽,經(jīng)...
    沈念sama閱讀 45,644評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡丰涉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了此再。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片昔搂。...
    茶點(diǎn)故事閱讀 39,953評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖输拇,靈堂內(nèi)的尸體忽然破棺而出摘符,到底是詐尸還是另有隱情,我是刑警寧澤策吠,帶...
    沈念sama閱讀 35,673評(píng)論 5 346
  • 正文 年R本政府宣布逛裤,位于F島的核電站,受9級(jí)特大地震影響猴抹,放射性物質(zhì)發(fā)生泄漏带族。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評(píng)論 3 329
  • 文/蒙蒙 一蟀给、第九天 我趴在偏房一處隱蔽的房頂上張望蝙砌。 院中可真熱鬧阳堕,春花似錦、人聲如沸择克。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肚邢。三九已至壹堰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間骡湖,已是汗流浹背贱纠。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留响蕴,地道東北人谆焊。 一個(gè)月前我還...
    沈念sama閱讀 48,119評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像换途,于是被迫代替她去往敵國和親懊渡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評(píng)論 2 355

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