本帖最后由 chelang 于 2020-2-22 19:20 編輯
眾所周知,我們想要全面具體描述一件事時(shí),會(huì)用到五要素。What,who,when,where,why,how。通俗點(diǎn)就是誰在什么時(shí)間什么地點(diǎn)發(fā)生了什么事,怎么發(fā)生的,為什么會(huì)發(fā)生。
其實(shí),不僅是描述事件,無論什么知識(shí)體系,都可以用這個(gè)類比過來描述。如今天我們說的學(xué)習(xí)python語言這件事。
下面進(jìn)入正題。
一、Python是什么?
網(wǎng)上的描述:python是一種面向?qū)ο蟮慕忉屝陀?jì)算機(jī)程序設(shè)計(jì)語言。好,我們就從這兩方面來闡述。
1. 何為面向?qū)ο螅好嫦驅(qū)ο缶褪怯梅诸惖乃枷雭砜创篱g萬物。面向?qū)ο笥袃蓚€(gè)極重要的概念。類和對(duì)象。類就是把世界上所有物體的進(jìn)行分類,然后抽象,提取出共同的特征及行為。把這個(gè)分類抽象的結(jié)果定義為類。
2. 解釋型:相對(duì)于編譯型語言存在的,源代碼不是直接翻譯成機(jī)器語言,而是先翻譯成中間代碼,再由解釋器對(duì)中間代碼進(jìn)行解釋運(yùn)行。Python就是解釋型的,每次都要編譯。Java是編譯性的。先編譯成字節(jié)碼,運(yùn)行的時(shí)候才轉(zhuǎn)換為機(jī)器碼。一次編譯,多次運(yùn)行。
舉個(gè)簡單的例子。Python的代碼與java的代碼都是外文文件(非中文寫的,而是其它國家的語言)。我作為客戶想要看是什么內(nèi)容,就會(huì)找人翻譯一下。如果是python代碼,這個(gè)人邊看邊翻譯,邊翻譯邊給我說,相當(dāng)于口譯。沒有任何保存與記錄。下次我還想看,只能又找人翻譯。如果是java代碼,相當(dāng)于某個(gè)人邊翻譯邊給我寫了個(gè)翻譯后的中文文件。如果我下次想著,直接拿翻譯好的中文文檔來看。而不需要再找這個(gè)翻譯官幫我翻譯了。
二、為什么要用python?
市面上的開發(fā)語言那么多,為什么就要用python?為什么?為什么?
Python有很多特點(diǎn)。剛才也說了。解釋性,面向?qū)ο蟆?/font>
還有簡單,高效,優(yōu)雅。太簡單了,代碼簡單,概念簡單。據(jù)不完全統(tǒng)計(jì),完成同一個(gè)任務(wù),C語言要寫1000行代碼,Java只需要寫100行,而Python可能只要20行。
基于解釋性,python衍生出其它特點(diǎn)。如可移植性,可擴(kuò)展性,可嵌入性。在此就不容贅述了。有興趣可在網(wǎng)上查詢,了解更詳細(xì)的信息。
基于這么多特點(diǎn),就引出了我們要回答的另一個(gè)問題
三、在哪里使用python?
肯定是在電腦或者服務(wù)器上使用了。我們這里主要關(guān)注它能做什么。
它能做的事情為:
1. 寫網(wǎng)站
2. 系統(tǒng)工具與腳本
3. 膠水語言,可以直接包裝其它語言開發(fā)的模塊。
4. 教育
5. 人工智能
在此,重點(diǎn)說下系統(tǒng)工具和腳本。
系統(tǒng)工具:用它開發(fā)的小腳本程序獲取系統(tǒng)運(yùn)行的進(jìn)程和系統(tǒng)利用率(內(nèi)存,CPU,磁盤,網(wǎng)絡(luò)等),主要用于系統(tǒng)監(jiān)控,分析和系統(tǒng)資源及進(jìn)程的管理。還能做配置,集群管理,遠(yuǎn)程部署等等。
腳本:它可以實(shí)現(xiàn)自動(dòng)化測試,開發(fā)自動(dòng)化腳本。就是你用python寫的代碼,可以幫助你測試軟件產(chǎn)品,主要有web網(wǎng)站,手機(jī)應(yīng)用。如我們登陸微信,給好友發(fā)消息等等都可以用我們寫好的腳本來做。在百度上搜索東西,選擇搜索內(nèi)容都可以用測試腳本來做。
四、什么時(shí)候用python?
想用就用,隨時(shí),它可沒有限制。
要實(shí)現(xiàn)自動(dòng)化測試那就在執(zhí)行測試之前用python寫好測試腳本了。
同樣,要實(shí)現(xiàn)運(yùn)維部署及監(jiān)控那也要在做這些事之前寫測試腳本的。
五、誰用python?
當(dāng)然是Python的開發(fā)者了。
一般情況下,寫測試腳本就是軟件公司的測試人員來做。寫運(yùn)維相關(guān)腳本就是運(yùn)維人員來做了。
它替我們做了重復(fù)繁瑣的事情。而且不知疲倦。特別是用于測試工作中的回歸測試。很龐大的一個(gè)系統(tǒng),如有10個(gè)模塊,本次只修改某個(gè)模塊1個(gè)很小的功能,其它沒有任何關(guān)聯(lián)的模塊所有基本功能也要再測一遍。而且必須這樣做。這個(gè)時(shí)候就要自動(dòng)化測試給我們幫忙了。定時(shí)測試,定時(shí)出報(bào)告,發(fā)郵件。腳本都可以幫我們做。有沒有感覺到測試有它如有神器呢。神助攻。
六、怎么用python或者如何學(xué)python?
怎么用前面已經(jīng)說了很多了。此處重點(diǎn)關(guān)注怎么學(xué)。
學(xué)任何語言。無例外先關(guān)注下語言的歷史發(fā)展,目前狀況,特點(diǎn),應(yīng)用領(lǐng)域,難易程度等等。
1. 歷史發(fā)展:
1989,為了度過圣誕假期,Guido開始編寫Python語言編譯器。Python這個(gè)名字來自Guido的喜愛的電視連續(xù)劇《蒙蒂蟒蛇的飛行馬戲團(tuán)》。他希望新的語言Python能夠滿足他在C和Shell之間創(chuàng)建全功能、易學(xué)、可擴(kuò)展的語言的愿景。
今天,世界上有將近600種編程語言,但也有20種流行語言。如果你聽說過TIOBE排名,你知道編程語言的普遍流行。這是過去10年中最常用的10種編程語言的變化圖。
2. 目前狀態(tài):
近幾年,大數(shù)據(jù),云計(jì)算,人工智能是全民關(guān)注的熱點(diǎn)。Python就擅長做這些。它提供了人工智能常用機(jī)器學(xué)習(xí)和深度學(xué)習(xí)兩個(gè)很重要的模塊。而大數(shù)據(jù)的獲取是通過python腳本來爬取的。Python是專業(yè)做這個(gè)事情的。
3. 如何學(xué):
學(xué)任何語言,通用的方法都是多實(shí)踐,多敲代碼,多練習(xí),多思考。就如同游泳,只在岸上比劃或者在水里沒有真正實(shí)踐,任憑老師有多牛逼,任憑理論有多清楚,說得多條條是道,但不下水,不反復(fù)練習(xí),那還是學(xué)不會(huì)游泳的。游泳是看不會(huì)的,學(xué)語言寫代碼也是如此。
要想學(xué)好,要做到以下幾點(diǎn):
1. 明白要學(xué)習(xí)的內(nèi)容:
任何語言基本上都是定義變量,數(shù)據(jù)類型(數(shù)字,字符串,數(shù)組,鍵值對(duì)等),控制語句(if,while,for),函數(shù),如果是面向?qū)ο髣t是類,對(duì)象。
2. 經(jīng)??偨Y(jié)歸納:
學(xué)的過程中注意體系化,經(jīng)常回顧以前的知識(shí)內(nèi)容。
3. 多練習(xí):
真正把每個(gè)知識(shí)點(diǎn)都轉(zhuǎn)為代碼進(jìn)行練習(xí)過。然后再多做一個(gè)練習(xí),小項(xiàng)目等。
4. 獨(dú)立學(xué)習(xí),獨(dú)自解決問題:
學(xué)習(xí)過程中要培養(yǎng)自己獨(dú)立學(xué)習(xí),解決問題的能力。網(wǎng)絡(luò)是個(gè)好東西,任何疑問都可以查網(wǎng)絡(luò)。離開學(xué)校,在工作環(huán)境中,網(wǎng)絡(luò)絕對(duì)是我們的第一導(dǎo)師。
|