- 1. 編程基礎(chǔ)
- 2. 程序
- 3. Python 的語言介紹
- 4. Python 的解釋器
- 5. Python 版本區(qū)別
- 6. Python 安裝
- 7. pyenv 多版本管理
- 8. pip 命令
- 9. Pycharm 安裝及基本使用
- 10. 第一個(gè) Python 程序
1. 編程基礎(chǔ)
??用任何編程語言來開發(fā)程序厦坛,都是為了讓計(jì)算機(jī)干活寻狂,而計(jì)算機(jī)干活的 CPU 只認(rèn)識機(jī)器指令码耐,所以,盡管不同的編程語言差異極大突硝,最后都得 翻譯
成 CPU 可以執(zhí)行的機(jī)器指令再悼。而不同的編程語言炫七,干同一個(gè)活磕蛇,編寫的代碼量,差距也很大囱桨。
??比如仓犬,完成同一個(gè)任務(wù),可能 C 語言要寫 1000 行代碼舍肠,Java 需要寫 100 行搀继,而 Python 卻只要 10 行窘面。
??所以 Python 是一種高級語言。
??那是不是越低級的程序越難學(xué)叽躯,越高級的程序越簡單财边?表面上來說,是的点骑,但是酣难,在非常高的抽象計(jì)算中,高級的 Python 程序設(shè)計(jì)也是非常難學(xué)的黑滴,所以憨募,高級程序語言不等于簡單。即便如此袁辈,對于初學(xué)者和完成普通任務(wù)菜谣,Python 語言還是非常簡單易用的。連 Google 都在大規(guī)模使用 Python晚缩,別擔(dān)心學(xué)了會沒用尾膊。
1.1. 基本概念
??程序:是一組能讓計(jì)算機(jī)識別和執(zhí)行的指令。
??計(jì)算機(jī)五大部件:輸入設(shè)備
荞彼、輸出設(shè)備
冈敛、運(yùn)算器
、控制器
鸣皂、存儲器
莺债,各部件的主要作用:
- 運(yùn)算器:完成各種算數(shù)運(yùn)算、邏輯運(yùn)算签夭、數(shù)據(jù)傳輸?shù)葦?shù)據(jù)加工處理
- 控制器:控制程序的執(zhí)行
- 存儲器:用于記憶程序和數(shù)據(jù),例如內(nèi)存
- 輸入設(shè)備:將數(shù)據(jù)或者程序輸入到計(jì)算機(jī)中椎侠,例如鼠標(biāo)第租、鍵盤
- 輸出設(shè)備:將數(shù)據(jù)或程序的處理結(jié)果展示給用戶,例如顯示器我纪、打印機(jī)等
??CPU 由運(yùn)算器和控制器組成慎宾,其中還有寄存器以及多級緩存,其中我們所熟知的 L1浅悉、L2 緩存是每個(gè) CPU 核心獨(dú)占的趟据,而 L3 緩存則是所有核心共享的。寄存器术健、多級緩存汹碱、內(nèi)存、硬盤的讀取速度依次降低荞估。
??計(jì)算機(jī)語言
: 人與計(jì)算機(jī)之間交互的語言咳促,機(jī)器語言稚新、匯編語言等屬于早期語言的代表,機(jī)器語言由一定位數(shù)組成的二進(jìn)制 0 和 1 的序列組成跪腹,這種語言非彻由荆晦澀,難以理解冲茸,難以記錄屯阀,而匯編語言則借助了一些助記符來替代機(jī)器指令,雖然好記了一點(diǎn)轴术,但還是難以學(xué)習(xí)难衰,后來經(jīng)過時(shí)代的變遷,牛人們的不斷貢獻(xiàn)膳音,慢慢的針對不同場景的編程語言逐漸出現(xiàn)召衔、百花齊放。
1.2. 語言分類
??從距離機(jī)器和人類可讀的兩種方向祭陷,主要分為 低級語言
和 高級語言
苍凛。
- 低級語言:面向的機(jī)器的語言,比如機(jī)器語言兵志、匯編語言醇蝴,不同的機(jī)器不能通用。
- 高級語言:接近人類可讀的自然和數(shù)字結(jié)合的計(jì)算機(jī)語言想罕,由編譯程序轉(zhuǎn)換成機(jī)器指令來進(jìn)行執(zhí)行悠栓,我們只需要關(guān)注如何書寫源程序,剩下編譯的事情就交給編譯器進(jìn)行處理按价。
??從運(yùn)行方式來看又分為 編譯型語言
和 解釋型語言
惭适。
- 編譯語言:把代碼轉(zhuǎn)換成目標(biāo)機(jī)器的 CPU 指令
- 解釋語言:解釋后轉(zhuǎn)換成字節(jié)碼,運(yùn)行在虛擬機(jī)上楼镐,解釋器執(zhí)行中間代碼
??語言越高級癞志,越接近人類的自然語言和數(shù)學(xué)語言,越低級則越能讓機(jī)器理解框产,高級語言和低級語言之間需要的一個(gè)轉(zhuǎn)換的工具:編譯器凄杯、解釋器,例如 C秉宿、C++ 等語言的源代碼需要本地編譯戒突,而 Java、Python描睦、C# 的源代碼需要被解釋器編譯成中間代碼膊存,在虛擬機(jī)上運(yùn)行。
1.3. 高級語言的發(fā)展
??高級語言根據(jù)發(fā)展歷程主要分為四個(gè)階段或者說是四種類型:非結(jié)構(gòu)化
、結(jié)構(gòu)化
膝舅、面向?qū)ο?/code>嗡载、
函數(shù)式
:
非結(jié)構(gòu)化語言
:編號或標(biāo)簽、GOTO仍稀、子程序可以有多個(gè)入口和出口洼滚,有分支、循環(huán)技潘。結(jié)構(gòu)化語言
:任何基本語句只允許是唯一入口和出口遥巴,有順序、分支享幽、循環(huán)铲掐、廢棄 GOTO面向?qū)ο蟮恼Z言
:更加接近人類認(rèn)知世界的方式,萬事萬物抽象成對象值桩,對象間關(guān)系抽象成類和繼承摆霉。而類具有封裝、繼承奔坟、多態(tài)等特性函數(shù)式語言
:屬于一種古老的編程范式携栋,應(yīng)用在數(shù)據(jù)計(jì)算、并行處理等場景咳秉,在這種語言中婉支,函數(shù)是 ' 一等公民 ',利用函數(shù)的特性澜建,還有更高級的比如高階函數(shù)等向挖。
2. 程序
??程序 = 算法 + 數(shù)據(jù)結(jié)構(gòu)。程序
有如下特點(diǎn):
- 數(shù)據(jù)是一切程序的核心
- 數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)在計(jì)算機(jī)中的類型和組織方式
- 算法是處理數(shù)據(jù)的方式炕舵,算法有優(yōu)劣之分
??寫程序難點(diǎn):
- 理不清數(shù)據(jù)
- 搞不清處理方法
- 無法把數(shù)據(jù)設(shè)計(jì)轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu)何之,無法把處理方法轉(zhuǎn)換成算法
- 無法用設(shè)計(jì)范式來進(jìn)行程序設(shè)計(jì)
- 世間程序皆有 bug,但不會 debug
3. Python 的語言介紹
??Python 是著名的 “龜叔” Guido van Rossum 在 1989 年圣誕節(jié)期間咽筋,為了打發(fā)無聊的圣誕節(jié)而編寫的一門編程語言溶推。
??Python 作為一門高級編程語言,相比于其他語言晤硕,初學(xué)者很容易入門,除此之外庇忌,Python 還具有以下優(yōu)點(diǎn):
- 簡單:Python 奉行簡潔主義舞箍,易于讀寫,它使你能夠?qū)W⒂诮鉀Q問題而不是去搞明白語言本身皆疹。
- 兼容性:Python 兼容眾多平臺疏橄,所以開發(fā)者不會遇到使用其他語言時(shí)常會遇到的困擾。
- 面向?qū)ο?/strong>:Python 既支持面向過程,也支持面向?qū)ο缶幊躺悠取T诿嫦蜻^程編程中晃酒,程序員復(fù)用代碼,在面向?qū)ο缶幊讨姓蓿褂没跀?shù)據(jù)和函數(shù)的對象贝次。
- 豐富的庫:Python 標(biāo)準(zhǔn)庫確實(shí)很龐大。它可以幫助你處理各種工作彰导,包括正則表達(dá)式蛔翅、文檔生成、單元測試位谋、線程山析、數(shù)據(jù)庫、網(wǎng)頁瀏覽器掏父、CGI笋轨、FTP、電子郵件赊淑、XML爵政、XML-RPC、HTML膏燃、WAV 文件茂卦、密碼系統(tǒng)、GUI (圖形用戶界面)组哩、Tk 和其他與系統(tǒng)有關(guān)的操作等龙。
- 規(guī)范的代碼:Python 采用強(qiáng)制縮進(jìn)的方式使得代碼具有極佳的可讀性。
- 可擴(kuò)展性和可嵌入性伶贰。如果你需要你的一段關(guān)鍵代碼運(yùn)行得更快或者希望某些算法不公開蛛砰,你可以把你的部分程序用 C 或 C++ 編寫,然后在你的 Python 程序中使用它們黍衙。你可以把 Python 嵌入你的 C/C++ 程序泥畅,從而向你的程序用戶提供腳本功能。
??Python 的學(xué)習(xí)強(qiáng)度相對于其他的一些編程語言普遍公認(rèn)更簡單琅翻,零基礎(chǔ)也可輕松學(xué)會位仁,而且發(fā)展前景好,在人工智能方椎、大數(shù)據(jù)聂抢、云計(jì)算、運(yùn)維自動化等領(lǐng)域均得到了廣泛的應(yīng)用棠众,且現(xiàn)階段人才緊缺琳疏,薪資普遍高于其他編程語言有决,因此,是 IT 轉(zhuǎn)型的好選擇空盼!
??此外 Python 還是一種 動態(tài)編譯的书幕、強(qiáng)類型的
語言,那么什么是動態(tài)編譯語言揽趾,什么是強(qiáng)類型語言呢台汇?
- 靜態(tài)編譯語言:實(shí)現(xiàn)聲明變量類型,類型不能再改變但骨,編譯時(shí)檢查励七,如 C、C++奔缠、Java
- 動態(tài)編譯語言:不用事先聲明類型掠抬,隨時(shí)可以賦值為其他類型,但編程時(shí)不知道是什么類型校哎,很難推斷两波,如 Python、PHP闷哆、JavaScript
-
強(qiáng)類型語言:不同類型之間操作腰奋,必須先強(qiáng)制類型轉(zhuǎn)換為同一類型,比如
print('a'+1)
, 將字符串和數(shù)字直接相加將拋出異常抱怔,無法正常執(zhí)行劣坊,如 Python、Java -
弱類型語言:不同類型間可以操作屈留,自動隱式轉(zhuǎn)換局冰,比如 JavaScript 中
Console.log(1+'a')
4. Python 的解釋器
??Python 這種高級語言需要編譯成字節(jié)碼然后由 Python 虛擬機(jī)(解釋器) 去執(zhí)行,針對解釋器灌危,有多種不同的版本康二。
- 官方的 CPython:C 語言開發(fā),最廣泛的 Python 解釋器
- IPython:一個(gè)交互式勇蝙、功能增強(qiáng)的 CPython沫勿,其典型應(yīng)用是 jupyter notebook,常用于學(xué)習(xí) Python味混、數(shù)據(jù)分析产雹、機(jī)器學(xué)習(xí)等領(lǐng)域
- PyPy:Python 語言寫的 Python 解釋器,并且針對性的進(jìn)行了優(yōu)化翁锡,比如 JIT 技術(shù)蔓挖,動態(tài)編譯 Python 代碼
- JPython:Python 的源碼編譯成 Java 的字節(jié)碼,跑在 JVM 上
- IronPython:與 Jython 類似盗誊,運(yùn)行在.Net 平臺上的解釋器时甚,Python 代碼被編譯成.Net 的字節(jié)碼
?? 雖然列舉了這么多編譯器,但是目前主流的還是官方提供的 CPython哈踱,但 PyPy 由于使用 Python 語言編寫荒适,針對性的進(jìn)行了許多優(yōu)化,據(jù)說速度可以達(dá)到 CPython 的 5 倍以上开镣,建議后期可以研究一下
5. Python 版本區(qū)別
??Python 是很多 Linux 系統(tǒng)默認(rèn)安裝的語言刀诬,以 CentOS 為例由于其 yum 包管理工具使用的是 Python 開發(fā),所以其內(nèi)置了 Python 2.x 版本邪财,但是 Python 目前已經(jīng)發(fā)展到了 3.7 版本了陕壹,并且 Python 官方對 2.x 的支持也快到期,所以建議學(xué)習(xí) Python 的 3.x 版本树埠。
??Python 3.x 的在本質(zhì)上和 Python 2.x 有很大的變化糠馆,2.x 的程序是不能直接在 3.x 的版本上運(yùn)行的,它們的主要區(qū)別有:
-
語句函數(shù)化怎憋。例如
print(1,2)
打印出 1 2又碌,但是 2.x 中意思是print
語句打印元組,3.x 中意思是函數(shù)的 2 個(gè)參數(shù) - 整除绊袋。在 3.x 中毕匀,/ 為自然除,// 為整除癌别。2.x 中 / 和 // 都為整除皂岔。
-
input
函數(shù)。3.x 中把 2.x 中的raw_input
舍去展姐,功能合并到input
函數(shù)中去躁垛。 -
round
函數(shù)。在 3.x 中的取整變?yōu)榫嚯x最近的偶數(shù) -
3.x 字符串統(tǒng)一使用 unicode诞仓。2.x 中如果想要輸入中文缤苫,還需要在文件頭顯示聲明 (
_*_coding:utf-8 _*_
) - 異常的捕獲、拋出的語法改變
6. Python 安裝
??不同平臺需要安裝不同版本的 Python墅拭,比如 windows活玲,需要用 exe 應(yīng)用程序,而 Linux 可以下載源碼編譯安裝谍婉,或者 yum 安裝舒憾。
6.1. windows 安裝
??安裝方法:由于 windows 是圖形界面,這里就不一一截圖了穗熬,只文字說明安裝步驟镀迂。
下載安裝包
訪問 https://www.Python.org/ 在 Downloads 標(biāo)簽頁下選擇 windows,然后根據(jù)自己需求唤蔗,下載對應(yīng)的Windows x86-64 executable installer
版本安裝
??雙擊下載好的Windows x86-64 executable installer
探遵,一直 next 即可窟赏。
??安裝路徑默認(rèn)即可,不要自作聰明修改
配置環(huán)境變量
??在安裝程序中選擇 add to PATH箱季,就是把 Python 命令安裝在 PATH 變量中涯穷,讓我們可以在任意地方通過命令訪問,如果忘記選擇藏雏,也可以通過下面的方法進(jìn)行設(shè)置:
??右擊我的電腦 --> 屬性 --> 高級系統(tǒng)設(shè)置 --> 環(huán)境變量 --> 編輯 PATH 變量 --> 添加 Python 的安裝路徑 C:\Python36 (以分號;
隔開)--> 確定測試
??打開 cmd (命令提示符拷况,快捷鍵 windows+r) ,輸入 Python 掘殴,可以進(jìn)入解釋器表示安裝成功
6.2. Linux 安裝
??Linux 的安裝有 yum 和編譯安裝兩種方式:
- yum 方式
[root@centos7 ~]# yum install -y Python36
- 編譯安裝
??編譯安裝稍微麻煩一些赚瘦,詳細(xì)操作步驟請參考我的另一篇博客《CentOS 7 系統(tǒng)編譯安裝 Python 3 環(huán)境》:https://blog.csdn.net/colinlee19860724/article/details/88856657
7. pyenv 多版本管理
??在實(shí)際工作情況下,由于每個(gè)項(xiàng)目用的可能不是一個(gè)版本的 Python奏寨,并且不同應(yīng)用程序所以來的第三方程序包都不同起意,如何讓多版本 Python 進(jìn)行共存,并且保證每個(gè)項(xiàng)目依賴的第三方包病瞳。想要讓多個(gè) Python 版本共存杜恰,有如下兩種方法:
- 編譯安裝新版本至某一個(gè)路徑
- 多版本 Python 管理工具
??如果每添加一個(gè)新的 Python 版本就編譯一次的話,大大增加了環(huán)境切換的成本仍源,并且還需要區(qū)分命令(Python3.5, Python 2.7) 等等心褐,所以就凸顯出了多版本管理工具的優(yōu)點(diǎn)
7.1. pyenv 介紹及安裝
??pyenv 是一個(gè)多版本 Python 管理工具,它可以幫我們安裝想要的 Python 版本笼踩,并且可以一鍵切換逗爹。pyenv 是一個(gè)開源的項(xiàng)目,其代碼托管在 github 上嚎于,我們可以訪問它的 github 站點(diǎn)來根據(jù) install 的步驟進(jìn)行安裝掘而。pyenv 的 github 地址:https://github.com/pyenv/pyenv,使用此方法的詳細(xì)安裝說明還可以參考我的另一篇博客《CentOS 7 系統(tǒng)下使用 Pyenv 安裝 Python 環(huán)境》:https://blog.csdn.net/colinlee19860724/article/details/89095650
??pyenv 官方還提供了便捷的安裝方式于购,它的項(xiàng)目地址是:https://github.com/pyenv/pyenv-installer袍睡,僅需要簡單幾步就可以完成安裝,下面以這種方式進(jìn)行說明肋僧。
??下面的步驟已在 CentOS 7.6 上測試斑胜,并安裝成功:
- 安裝依賴包 (由于 pyenv 默認(rèn)使用編譯的方式安裝 Python,所以它需要的依賴包需要提前安裝)
[root@centos7 ~]# yum install -y gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel
- 安裝 GIT (由于 pyenv-installer 中調(diào)用 git 使用 clone 的方式拉取 pyenv 的代碼嫌吠,所以這里需要進(jìn)行安裝)
[root@centos7 ~]# yum install -y git
- 安裝 Pyenv
# 執(zhí)行如下命令安裝 pyenv
[root@centos7 ~]# curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
- 修改環(huán)境變量
[root@centos7 ~]# vim /etc/profile.d/pyenv.sh
[root@centos7 ~]# cat /etc/profile.d/pyenv.sh
#!/bin/bash
# Define environment variable
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
[root@centos7 ~]# source /etc/profile.d/pyenv.sh
# PS:這里直接更新了 /etc/profile.d止潘,如果是單個(gè)用戶安裝并使用,建議添加到用戶家目錄中的 profile 文件中去
- 驗(yàn)證
[root@centos7 ~]# pyenv version
system (set by /root/.pyenv/version) # 表示當(dāng)前使用的是系統(tǒng)的 Python 版本
- pyenv 命令
pyenv -h # 即可列出命令幫助信息
pyenv install -l # 列出安裝的版本信息
pyenv install 3.6.6 # 安裝 3.6.6 版本
pyenv versions # 查看系統(tǒng) Python 版本(pyenv install 安裝的版本都可以在這里看到)
pyenv global 3.6.6 # 切換 Python 默認(rèn)版本為 3.6.6
pyenv local 3.6.6 # 切換當(dāng)前目錄下的 Python 版本為 3.6.6 (和目錄綁定辫诅,子目錄繼承環(huán)境設(shè)定)
pyenv shell 3.6.6 # 僅僅針對當(dāng)前 shell 環(huán)境 (會話級別)
- 離線安裝 Python 版本
??通過 pyenv install 3.6.6
進(jìn)行安裝時(shí)凭戴,它會聯(lián)網(wǎng)下載 Python 3.6.6
的源碼包,如果機(jī)器不能上網(wǎng)的話炕矮,可以采用離線的方式么夫,預(yù)先下載好 Python 要安裝的 Python 的版本包(注意需要 gz,xz,bz
者冤,三種格式都需要) 在 pyenv 的安裝目錄下,一般在用戶的家目錄下 .pyenv
目錄中档痪,進(jìn)入后新建子目錄 cache譬嚣,然后把三個(gè)包考進(jìn)去即可,然后再次執(zhí)行 pyenv install 3.6.6
即可
[root@centos7 ~]# cd .pyenv
[root@centos7 ~]# mkdir cache
[root@centos7 ~]# rz # 通過仿真終端上傳三個(gè)下載好的 Python 包
[root@centos7 ~]# pyenv install 3.6.6
7.2. virtualenv
??當(dāng)多個(gè)項(xiàng)目公用一臺主機(jī)的時(shí)候钞它,就會產(chǎn)生很多問題,當(dāng)你的項(xiàng)目和其他人的項(xiàng)目共用 Python 3.6.6 時(shí)殊鞭,假如每個(gè)項(xiàng)目都安裝了很多依賴包遭垛,你如何區(qū)分哪些包是你的項(xiàng)目需要的?這時(shí) virtualenv 就很重要了操灿,它可以在 pyenv 的環(huán)境中锯仪,再造一個(gè)虛擬環(huán)境,這個(gè)環(huán)境是基于 pyenv 中管理的某個(gè)主環(huán)境趾盐,派生出來的獨(dú)立子環(huán)境庶喜,你對 virtualenv 進(jìn)行的操作,和其他的 virtualenv 沒有任何關(guān)聯(lián)救鲤。
# 創(chuàng)建一個(gè) virtualenv 環(huán)境久窟,名字為 colin,基于 pyenv 管理的 3.6.6 版本
[root@centos7 ~]# pyenv virtualenv 3.6.6 colin
[root@centos7 ~]# pyenv versions
* system (set by /root/.pyenv/version)
3.6.6
3.6.6/envs/colin
colin
[root@centos7 ~]# mkdir lxl_test
[root@centos7 ~]# cd lxl_test
[root@centos7 lxl_test]# pyenv local colin
[root@centos7 lxl_test]# pyenv versions
system
3.6.6
3.6.6/envs/colin
* colin (set by /root/lxl_test/.python-version) # 該目錄 virtualenv 環(huán)境已切換本缠,這樣我們就可以放心的安裝和下載依賴包了
7.3. pyenv 安裝位置
??virtualenv 創(chuàng)建的虛擬環(huán)境都存放在 .pyenv
安裝目錄的 versions
下:
[root@centos7 versions]# pwd
/root/.pyenv/versions
[root@centos7 versions]# ll
total 0
drwxr-xr-x. 7 root root 68 Apr 1 15:17 3.6.6
lrwxrwxrwx. 1 root root 38 Apr 1 15:17 colin -> /root/.pyenv/versions/3.6.6/envs/colin
?? 而你在virtualenv
中安裝的包斥扛,則存放在virtualenv
環(huán)境中對應(yīng)的site-packages
目錄下
[root@centos7 site-packages]# pwd
/root/.pyenv/versions/3.6.6/envs/colin/lib/python3.6/site-packages
[root@centos7 site-packages]# ls
attr pangu-4.0.6.1.dist-info
attrs-19.1.0.dist-info pangu.py
ipykernel prompt_toolkit-2.0.9.dist-info
ipykernel-5.1.0.dist-info ptyprocess
ipykernel_launcher.py ptyprocess-0.6.0.dist-info
IPython pvectorc.cpython-36m-x86_64-linux-gnu.so
ipython-7.4.0.dist-info __pycache__
ipython_genutils pygments
ipython_genutils-0.2.0.dist-info Pygments-2.3.1.dist-info
ipywidgets pyrsistent
ipywidgets-7.4.2.dist-info pyrsistent-0.14.11-py3.6.egg-info
7.4. 導(dǎo)出項(xiàng)目依賴包
??如果某一天我要導(dǎo)出我當(dāng)前環(huán)境安裝的所有依賴包,該怎么辦呢丹锹?Python 已經(jīng)提供了一個(gè)工具稀颁,供我們導(dǎo)出當(dāng)前 Python 版本安裝的所有依賴包及名稱,它就是 pip 命令 (Python 3.x 中已經(jīng)內(nèi)置該命令), 使用它的 freeze
參數(shù)即可楣黍。
# 使用 freeze 可以直接導(dǎo)出當(dāng)前安裝的依賴包以及
[root@centos7 lxl_test]# pip freeze > requirement.txt # 對應(yīng)的版本
[root@centos7 lxl_test]# cat requirement.txt
pangu==4.0.6.1
??注意:在新的項(xiàng)目中匾灶,只需要使用
pip install -r requirement.txt
即可,讓 pip 按照 requirement.txt 文件中標(biāo)識的包和版本進(jìn)行安裝了租漂。pip 命令還有很多強(qiáng)大的功能阶女,下面我們來做個(gè)簡要介紹。
8. pip 命令
??pip 命令對應(yīng) Python 來說哩治,就像 Yum 和 CentOS 的關(guān)系张肾,它是 Python 的包管理工具,我們可以使用 pip 命令安裝幾乎所有的 Python 第三方包锚扎。
8.1. 命令說明
[root@centos7 lxl_test]# pip -h
Usage:
pip <command> [options]
Commands:
install # 安裝第三方包
download # 下載第三方包
uninstall # 卸載第三方包
freeze # 輸出包的名稱和版本信息吞瞪,可以重定向到文件中去
list # 顯示已安裝的第三方包
show # 顯示安裝包信息
search # 在 Pypi 庫中查找第三方包
help # 查看幫助信息
General Options:
-h, --help # 顯示幫助
-v, --verbose # 顯示詳細(xì)信息
-V, --version # 顯示版本信息
-q, --quiet # 安靜模式,不輸出任何提示信息
--log <path> # 把輸出信息追加 log 文件中
--proxy <proxy> # 使用代理驾孔,格式為: [user:passwd@] proxy.server:port.
--retries <retries> # 最大連接失敗重試次數(shù)芍秆,默認(rèn) 5 次
--timeout <sec> # 設(shè)置最大超時(shí)時(shí)間惯疙,默認(rèn)是 15 秒
--cache-dir <dir> # 指定緩存目錄
--no-cache-dir # 禁用緩存
8.2. 配置說明
??pip 命名默認(rèn)是從 Python 官方提供的 Pypi 倉庫進(jìn)行第三方軟件包,由于官方源在國外妖啥,訪問速度可能會很慢霉颠,我們可以把 Pypi 源換成國內(nèi)的阿里源,來增加訪問速度荆虱。 配置起來也很簡單蒿偎,只需要新增 pip 的配置文件,指定源為阿里源即可怀读。
??創(chuàng)建 pip 配置文件:
[root@centos7 ~]# mkdir ~/.pip
[root@centos7 ~]# cd .pip
[root@centos7 .pip]# vim pip.conf
[root@centos7 .pip]# cat pip.conf
[global] # 全局配置段
index-url=https://mirrors.aliyun.com/pypi/simple/ # pypi 倉庫地址
trusted-host=mirrors.aliyun.com # 信任主機(jī)
9. Pycharm 安裝及基本使用
??PyCharm 是一種 Python IDE诉位,帶有一整套可以幫助用戶在使用 Python 語言開發(fā)時(shí)提高其效率的工具,比如調(diào)試菜枷、語法高亮苍糠、Project 管理、代碼跳轉(zhuǎn)啤誊、智能提示岳瞭、自動完成、單元測試蚊锹、版本控制瞳筏。此外,該 IDE 提供了一些高級功能牡昆,以用于支持 Django 框架下的專業(yè) Web 開發(fā)乏矾。
??一句話總結(jié):幫助我們將代碼自動格式化(優(yōu)雅的空格),關(guān)鍵字提示迁杨,以及一鍵執(zhí)行钻心、調(diào)試等功能,對于敏捷開發(fā)有很大的幫助铅协。所以 Pythoner 請使用 Pycharm 吧捷沸。
??具體安裝方法這里不再贅述,請大家自行上網(wǎng)搜索狐史,安裝過程中遇到的問題痒给,歡迎郵件咨詢 517999276@qq.com 。
10. 第一個(gè) Python 程序
??Python 語言已經(jīng)安裝完畢骏全,環(huán)境也已經(jīng)配置好苍柏,那我們就來寫一個(gè)簡單的 Python 程序吧
??例子如下:
# Python 2.x
print 'hello world'
# Python 3.x
print('hello world')
# 這里:引號內(nèi)的是要打印到屏幕上的字符,快去試試吧姜贡。