第1章 - Python3 介紹.md

第1章 - Python3 介紹

Python是一種介于C和Shell之間的功能全面赚哗、易學(xué)易用屿储、可擴展的語言。數(shù)據(jù)處理方面有如下優(yōu)勢:

  1. 異彻宦樱快捷的開發(fā)速度,代碼量少
  2. 豐富的數(shù)據(jù)處理包赊堪,無論是正則竖哩,還是HTML解析、XML解析遵绰,使用方便增淹。
  3. 內(nèi)部類型使用成本很低,不需要許多額外操作(Java成玫、C++用一個Map都很麻煩)
  4. 編碼問題處理方便
  5. 大數(shù)據(jù),往往需要處理數(shù)據(jù)的框架(如Hadoop)哭当。Python雖然小眾,但是有處理大數(shù)據(jù)的框架码撰。一些框架也支持Python个盆。

1.1 從2.7到3.5的新特性

目前,Python有兩個版本柴梆,一個是2.x终惑,一個是3.x。兩個版本是不兼容的兩個版本主要區(qū)別如下:

  1. 使用future模塊:Python 3.x引入了一些與Python 2不兼容的關(guān)鍵字和特性偿渡。在Python 2中霸奕,可以通過內(nèi)置future模塊倒入這些新內(nèi)容。
  2. print函數(shù):Python 2中的pring語句背pring()函數(shù)取代适揉,必須用括號將需要輸出的對象括起來煤惩。
  3. 整數(shù)除法:由于人們常常會忽視Python 3在整數(shù)除法上的改動(寫錯不會觸發(fā)SyntaxError錯誤)
  4. Unicode:Python 2有基于ASCII的str()類型魄揉,可通過單獨的unicode()函數(shù)轉(zhuǎn)成unicode類型,但沒有byte類型洛退。在Python 3中有了Unicode(UTF-8)字符串和兩個字節(jié)類(byte和bytearrays)
  5. xrange:在Python 2.x中不狮,經(jīng)常會用xrange()創(chuàng)建一個可迭代對象在旱,通常出現(xiàn)"for 循環(huán)"或"列表/集合/字典推導(dǎo)式"中,在Python 3中驻仅,range()的實現(xiàn)方式與xrange()函數(shù)相同,所以移除了xrange()
  6. 觸發(fā)異常:Python 2支持新舊兩種異常觸發(fā)語法毡泻。而Python 3只支持帶括號的語法(不然會觸發(fā)SyntaxError)
  7. 處理異常:Python 3重的異常處理發(fā)生了一點變化粘优。在Python 3中必須使用as關(guān)鍵字,Python 2中不需要
  8. next函數(shù)和.next()方法:由于會經(jīng)常用到next()函數(shù)(.next方法)雹顺,在Python 2兩種都支持嬉愧,在Python 3中,只能使用next()函數(shù)王财,使用.next()方法會觸發(fā)AttributeError錯誤
  9. for循環(huán)變量與全局命名空間泄漏:在Python 3.x中裕便,for循環(huán)中的變量不再會泄漏到全局命名空間中
  10. 比較無序類型:Python 3中另一個優(yōu)秀的改動绒净,如果我們試圖比較無序類型闪金,就會觸發(fā)一個TypeError
  11. 使用input()解析輸入內(nèi)容:Python 3改進(jìn)了input()函數(shù)哎垦,該函數(shù)總是會將用戶的輸入存儲為str對象。在Python 2中墨闲,為了避免讀取非字符串類型郑口,會發(fā)生危險行為犬性,不得不使用raw_input()代替input()
  12. 返回可迭代對象,而不是列表:某些函數(shù)和方法在Python 3中返回的是可迭代對象乒裆,而不像在Python 2中返回列表。對象只遍歷一次會節(jié)省很多內(nèi)存验辞,如果通過生成器多次迭代這些對象喊衫,效率就不高了。此時如果需要列表對象壳贪,可以通過Python 3的list()函數(shù)簡單地將可迭代對象轉(zhuǎn)成列表联四。
  13. 字符編碼:Python2:默認(rèn)編碼格式:ASCII朝墩;Python3:默認(rèn)編碼格式:UTF-8

1.2 Python環(huán)境搭建

在官網(wǎng)下載對應(yīng)系統(tǒng)版本:https://www.python.org/downloads/
菜鳥教程:https://www.runoob.com/python/python-install.html

1.2.1 Windows

下載對應(yīng)exe安裝文件,點擊安裝

1.2.2 Linux / Mac OS

以下為在 Unix & Linux 平臺上安裝 Python 的簡單步驟

  1. https://www.python.org/downloads/source/ 選擇適用 于Unix/Linux 的源碼壓縮包收苏。
  2. 下載及解壓壓縮包:如果你需要自定義一些選項修改Modules/Setup
    tar -zxvf Python3.6.tar.gz
    ./configure --prefix=/usr/local/bin
    make
    make install
  1. 執(zhí)行以上操作后亿卤,Python 會安裝在 /usr/local/bin 目錄中鹿霸,Python 庫安裝在 /usr/local/lib/pythonXX排吴,XX 為你使用的 Python 的版本號。

1.3 Hello World

使用Python 或者Python3j進(jìn)入命令行

在交互式環(huán)境的提示符>>>下懦鼠,直接輸入代碼钻哩,按回車街氢,就可以立刻得到代碼執(zhí)行結(jié)果∩核啵現(xiàn)在伦乔,試試輸入100+200董习,看看計算結(jié)果是不是300:

>>> 100+200
300

print()打印出指定的文字函數(shù)皿淋,打印的文字用單引號或者雙引號括起來,但不能混用單引號和雙引號:

>>> print('hello, world')
hello, world

這種用單引號或者雙引號括起來的文本在程序中叫字符串,今后我們還會經(jīng)常遇到缰儿。

exit()退出Python

當(dāng)然乖阵,也可以將上面保存為.py后綴文件预麸,通過如下命令執(zhí)行

python / python3 fileName.py

1.4 Python的交互模式和直接運行.py文件有什么區(qū)別呢吏祸?

  1. 直接輸入python進(jìn)入交互模式贡翘,相當(dāng)于啟動了Python解釋器鸣驱,但是等待你一行一行地輸入源代碼踊东,每輸入一行就執(zhí)行一行闸翅。

  2. 直接運行.py文件相當(dāng)于啟動了Python解釋器缎脾,然后一次性把.py文件的源代碼給執(zhí)行了,你是沒有機會以交互的方式輸入源代碼的。

    用Python開發(fā)程序辙纬,完全可以一邊在文本編輯器里寫代碼蓖谢,一邊開一個交互式命令窗口,在寫代碼的過程中啥辨,把部分代碼粘到命令行去驗證溉知,事半功倍级乍!前提是得有個27'的超大顯示器玫荣!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市恒傻,隨后出現(xiàn)的幾起案子盈厘,更是在濱河造成了極大的恐慌沸手,老刑警劉巖契吉,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異惑灵,居然都是意外死亡英支,警方通過查閱死者的電腦和手機干花,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進(jìn)店門抡驼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來婶恼,“玉大人,你說我怎么就攤上這事割择±笥荆” “怎么了玛歌?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長值朋。 經(jīng)常有香客問我昨登,道長丰辣,這世上最難降的妖魔是什么笙什? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任顿仇,我火速辦了婚禮,結(jié)果婚禮上囤采,老公的妹妹穿的比我還像新娘蕉毯。我一直安慰自己,他們只是感情好棉磨,可當(dāng)我...
    茶點故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般统抬。 火紅的嫁衣襯著肌膚如雪蓄喇。 梳的紋絲不亂的頭發(fā)上妆偏,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天挪鹏,我揣著相機與錄音讨盒,去河邊找鬼返顺。 笑死振乏,一個胖子當(dāng)著我的面吹牛慧邮,可吹牛的內(nèi)容都是我干的耻矮。 我是一名探鬼主播淘钟,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼毡琉,長吁一口氣:“原來是場噩夢啊……” “哼桅滋!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起号俐,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蔬浙,失蹤者是張志新(化名)和其女友劉穎畴博,沒想到半個月后俱病,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體袁余,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年且蓬,在試婚紗的時候發(fā)現(xiàn)自己被綠了诈胜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片焦匈。...
    茶點故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡摔笤,死狀恐怖彰触,靈堂內(nèi)的尸體忽然破棺而出渴析,到底是詐尸還是另有隱情俭茧,我是刑警寧澤,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站衙熔,受9級特大地震影響登颓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜红氯,卻給世界環(huán)境...
    茶點故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一框咙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧痢甘,春花似錦喇嘱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至放椰,卻和暖如春作烟,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背砾医。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工俗壹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人藻烤。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像头滔,于是被迫代替她去往敵國和親怖亭。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,066評論 2 355

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