1. 程式人生 > >為什麽學習python及python的安裝

為什麽學習python及python的安裝

python 為什麽學習python python的安裝

1.1 為什麽學習python

技術分享圖片

(1)python 開源支持多系統:

linux

windows

Mac

(2)python官網:

http://www.python.org

技術分享圖片 技術分享圖片

(3)作者:

技術分享圖片技術分享圖片

運維人員需不需要學開發?需不需要學Python?Python和Shell有什麽區別?

現階段,掌握一門開發語言已經成為高級運維工程師的必備計能,不會開發,你就不能充分理解你們系統的業務流程,你就不能幫助調試、優化開發人開發的程序,開發人員有的時候很少關註性能的問題,這些問題就得運維人員來做,一個業務上線了,導致CPU使用過高,內存占用過大,如果你不會開發,你可能只能查到進程級別,也就是哪個進程占用這麽多,然後呢?然後就交給開發人員處理了,這樣咋體現你的價值?

另外,大一點的公司,服務器都上幾百,上千,甚至數萬臺,這種情況下怎樣做自動化運維?用Shell寫腳本for循環?呵呵,歇了吧,Shell也就適合簡單的系統管理工作。

到復雜的自動化任務還得要用專門的開發語言。你可能說了,自動化管理有專門的開源軟件監控也有,直接拿來用下就好了,但是現有的開源軟件如Puppet、Saltstack、OpenStack、Zabbix、Nagios 等多為通用的軟件,不可能完全適用你公司的所有需求,當你需要做定制、做二次開發的時候,你咋辦?找開發部門?

開發部門不懂運維的實際業務邏輯,寫出來的東西太爛不能用,我自己也做運維系統,6年運維工作經驗,開發出來的第一版照樣爛的不行,這還是懂的運維業務邏輯的,讓開發人員來做,跑偏可能更多了,這就是為什麽我見過很多公司自行開發運維平臺,最後都扔那了。

其次,不會運維開發,你就不能自己寫運維平臺復雜的運維工具,一切要借助於找一些開源軟件拼拼湊湊,如果是這樣,那就請不要抱怨你的工資低,你的工作不受重視了,話說人家FaceBook一個運維工程師管2萬臺機器,運維工程師年薪十幾萬USD,你以為人家是蓋的呢?哪個不是身懷絕技,開發運維兼備?

為什麽要學Python?

Python第一是個非常牛B的腳本語言,能滿足絕大部分自動化運維的需求,又能做後端C/S架構,又能用WEB框架快速開發出高大上的Web界面,只有當你自已有能力做出一套運維自動化系統的時候,你的價值才體現出來,你才有資格跟老板談重視,否則,還是老老實實回去裝機器吧。

運維開發為什麽要用Python?

Good question, 為什麽不用PHP,JAVA, C++,RUBY,這裏我只能說,見人見智, 如果你碰巧已經掌握了除Python之外的其它語言,那你愛用啥用啥,如果你是一個連SHELL都還沒寫明白的新手,想學個語言的話,請用Python,為什麽呢?

首先,PHP是跟Python比的最多的,其實他倆根本就不用比,為什麽呢?兩個語言適用性不同,PHP主要適用於Web開發,可以迅速的做出中小型,輕量級的WEB網站,但後端嘛,基本還是要借助其它語言,借助什麽語言呢?Shell?Python?呵呵。而Python呢,是個綜合語言,前後端都可以,單拿出來比Web,也一點不比PHP差,但為什麽Web方向上PHP比Python要火?

先入為主嘛,PHP 90年代誕生就是做Web的,Python2000年後才出現Web框架,但論優秀程度上,Python的Web框架基本上出其無左,至少是跟PHP比。

那JAVA呢?好吧,一個臃腫、中庸、豪無新意的語言,還是老老實實用它來做ERP吧,搞個運維小平臺,用JAVA真心沒啥必要,在我看來,JAVA就是穩定的中年男人,穩定、成熟、禿頂,而Python代表的就是青春,簡潔、快、幹凈、帥!

C++/C,這個嘛,我只能說,如果你會了Python,又會C的話,那你會更吃香,但是不會C的話,其實也無大礙,基本上做運維的人,搞搞C就是為了來裝B的,因為多數情況下你都到不了看系統底層源碼的程度, 不過如果你學好了Python之後,還是建議你學習下C++,畢竟相比Python這個動態語言來講,C++的效率還是高很多的,但對新手來講,不建議做為第一門語言開始學習,為什麽呢?打擊自信心…呵呵,你懂的

Ruby,小日本開發的,還不錯,風格跟Python有點像,因為Ruby onrails出了名,國外用的比較多,國內,放心吧,沒戲,Python已經把它的想象空間都占死了。

當然還有新的語言GO,有些搞運維的看見做開發的人員搞GO,也想湊熱鬧,覺得是未來,我想說,別瞎沒事跟風,GO再成功,也不會變成運維開發語言。

有些人覺得Python效率底,說他不能支持多線程,OH,好吧,這個還有點說對了,但是我想問,看我這篇文章的有幾個做過搜索引擎開發?有幾個做個上億PV的並發網站開發?

有幾個看過LINUX內核源碼?如果沒有,請別瞎跟著傳了,知道PYTHON為什麽不支持多線程嗎?這句話問錯了,其實Python支持多線程,只是不支持多CPU多線程,也就是一個程序spawn出來的多線程只能占用一個CPU,但是為什麽呢?噢,因為GIL,GIL是什麽東東,請自行補腦。。。但是你非得用多線程嗎?你可以用多進程呀,再牛B你還可以用協程呀,這些Python支持的都很好呀,如果你的程序邏輯不好,搞個多線程也快不起來。

我認識一個博士講過一句話,我覺得不錯,他說,程序效率高低,80%都是寫程序的人決定了,語言本身就占20%,所以下次有人再說PYTHON效率低的時候,請讓他先回去自己檢查下自己的程序多了多少無用的邏輯、循環等等。這個博士自己用Python寫的WEB程序,一臺服務器每天能處理上億請求,一秒並發近兩萬,什麽WEB框架這麽牛B? 別問它是誰,它叫tornado。

Python能否自學?

當然可以,什麽都可以自學,前提是你得能學得會,見過N多菜鳥踏上上自學的不歸路,他媽的什麽都能自學的話,還用大學幹什麽?自己在家鱉不就行了?

動不動就說Python是個腳本語言,自己看看就不會了,說這話的只可能有兩種人,一種是高手,一種是SB,對於高手來講,他肯定已經會其它語言,Python在這種情況下,自學當然就很容易學會,幾年前我剛接觸Python時,代碼遇到問題,找了個開發的哥們幫調試,哥們幫調了十幾分鐘就搞定了,結果人家以前一句Python代碼也沒寫過,為什麽,因為語言都有相通之處,一門掌握好了,其它門自己學學就會了。

但對於新手來講,沒任何語言基礎就開始自學,那麽恭喜你,菜鳥們見此文章為證,從今天開始自學,一年後,你要是能自己做出個軟件來,來找我要一千塊錢。哈哈,真的。

基本上自學是屬於專業人員幹的事情,就像會一門樂器了,自己學下就可能學會另一門,但我之前沒音樂基礎,跟著老師都沒把吉它學會。

所以奉勸沒基礎又想學Python的同學,花點錢去報個班學吧,拿錢換時間,時間是生命,錢沒了可再掙錢,時間過去了就再也不會回來,如果你不信邪,非要自己學,那我佩服你的勇氣,不過自己試試就知道了。

當然天下沒有絕對的事情,我大天朝牛X的人多了去了,很多人也能過自學編程,最後變成高手了,我的Python也是自學的,但是我可以說自學過程中走過了N多坑好麽,好多時候糾結在一個簡單的小問題上好幾天都卡住,當時如果不是因為工作需求,估計早放棄了,這還是Python,就別說其它復雜的語言了,我相信除了少數的大牛之外,多數人不比我聰明到哪去,選擇自學的同鞋們,一路珍重。

說了這麽多,只想告訴那些迷茫不知所措該學什麽語言的新手們, 在你還沒學好走路的時候,不要老想著,將來我當上老板了,我是開寶馬呢?還是開奔馳呢?先學會騎自行車吧! (接自:http://www.yuminstall.com/or-need-to-learn-python.html)


1.2 python的安裝

LInux下安裝:

(1)查看linux下python版本:

[root@VM_46_188_centos ~]# python -V

Python 2.7.5

(2)進入python命令提示符下:

[root@VM_46_188_centos ~]# python

Python 2.7.5 (default, Aug 4 2017, 00:39:18)

[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> print 'hello world'

hello world

>>> exit()

退出python exit()或ctrl+D


(3)安裝ipython(使python具有自動補齊功能)

1.安裝命令:(pip官網http://pypi.python.org/pypi/ipython)

yum install epel-release

yum install python-pip

pip install ipython

2.查看Ipython版本:

[root@VM_46_188_centos ~]# pip list

chardet (2.2.1)

configobj (4.7.2)

decorator (3.4.0)

iniparse (0.4)

IPy (0.75)

ipython (1.2.1)

jsonschema (2.5.1)

kitchen (1.1.1)

3.進入 ipython命令指示符下:

[root@VM_46_188_centos ENV]# ipython

Python 2.7.5 (default, Aug 4 2017, 00:39:18)

Type "copyright", "credits" or "license" for more information.

IPython 3.2.1 -- An enhanced Interactive Python.

? -> Introduction and overview of IPython's features.

%quickref -> Quick reference.

help -> Python's own help system.

object? -> Details about 'object', use 'object??' for extra details.

In [1]: print 'hello world'

hello world

In [2]:

windows下安裝:

(1)官網下載windows安裝包:

技術分享圖片技術分享圖片技術分享圖片

技術分享圖片技術分享圖片

技術分享圖片 (2)按照提示一步步安裝:

技術分享圖片技術分享圖片

(3)選擇安裝目錄:

技術分享圖片技術分享圖片

技術分享圖片技術分享圖片

(4)安裝後查看目錄結構如果下:

技術分享圖片技術分享圖片

(5)配置環境變量PATH:

高級系統設置-----高級-------環境變量

技術分享圖片技術分享圖片

(6)系統變量PATH內加入";C:\Python27":

技術分享圖片技術分享圖片

(7)進入cmd命令提示符下輸入python進入python打印hello world:

技術分享圖片技術分享圖片

技術分享圖片

技術分享圖片


為什麽學習python及python的安裝