其實(shí)開始Python的學(xué)習(xí),已經(jīng)是半年前的事了,但是一直只是斷斷續(xù)續(xù)的看了一些很基礎(chǔ)入門的東西,目前還沒有一個(gè)太深刻的理解。 目前主要從視頻開始學(xué)習(xí),使用的是windows平臺(tái),其實(shí)一直比較想嘗試linux系統(tǒng)中進(jìn)行學(xué)習(xí),但是大部分都沒有,后來找到一個(gè)凳子學(xué)院的基礎(chǔ)教學(xué)視頻,但是使用的ubuntu,是圖形化界面進(jìn)行,既然是圖形化為何不找更方便的windows來學(xué)習(xí)。 文字描述部分取自網(wǎng)絡(luò),部分為個(gè)人理解。 ? 一. Python簡(jiǎn)介 既然學(xué)習(xí)一門新的技術(shù),一定要開始做一點(diǎn)簡(jiǎn)單的介紹說明,它的發(fā)展歷程、由來、優(yōu)缺點(diǎn)、應(yīng)用場(chǎng)景等等。 1.? Python起源及發(fā)展歷程 Python的創(chuàng)始人為荷蘭人吉多·范羅蘇姆(Guido van Rossum)(我簡(jiǎn)稱為GD)。1989年圣誕節(jié)期間,在阿姆斯特丹,Guido為了打發(fā)圣誕節(jié)的無趣,決心開發(fā)一個(gè)新的腳本解釋程序,作為ABC 語言的一種繼承。之所以選中Python(大蟒蛇的意思)作為該編程語言的名字,是取自英國20世紀(jì)70年代首播的電視喜劇《蒙提.派森的飛行馬戲團(tuán)》(Monty Python's Flying Circus)。 ABC語言是GD參與設(shè)計(jì)的一種教學(xué)語言。ABC語言優(yōu)美、功能強(qiáng)大,主要為非專業(yè)程序員而設(shè)計(jì),但是最終沒有取得很大的成功,GD本人認(rèn)為是因?yàn)槠浞情_放、封閉所造成的。所以在產(chǎn)生Python開發(fā)構(gòu)想的時(shí)候,既要延續(xù)ABC語言優(yōu)美而強(qiáng)大的特點(diǎn),還要避免其非開放的缺點(diǎn),而更在這基礎(chǔ)之上完成一些未曾實(shí)現(xiàn)的內(nèi)容。 1991年第一個(gè)Python解釋器誕生,它是使用C語言實(shí)現(xiàn),并能調(diào)用C語言庫文件。 ? 2. Python優(yōu)缺點(diǎn) 2.1. 優(yōu)點(diǎn) 代碼量少:一般情況下解決同樣的問題,Python的代碼量相較于java少80%,這在實(shí)際工作中非常的重要,更少的代碼量解決更多的問題; 易學(xué)習(xí):Python語法優(yōu)美,且處理一些問題代碼量較少,所以相對(duì)于學(xué)習(xí)是相較于java要簡(jiǎn)單容易一些; 高級(jí)語言:當(dāng)你用Python語言編寫程序的時(shí)候,你無需考慮諸如如何管理你的程序使用的內(nèi)存一類的底層細(xì)節(jié) 可移植性:由于它的開源本質(zhì),Python已經(jīng)被移植在許多平臺(tái)上(經(jīng)過改動(dòng)使它能夠工 作在不同平臺(tái)上)。如果你小心地避免使用依賴于系統(tǒng)的特性,那么你的所有Python程序無需修改就幾乎可以在市場(chǎng)上所有的系統(tǒng)平臺(tái)上運(yùn)行 可擴(kuò)展性:如果你需要你的一段關(guān)鍵代碼運(yùn)行得更快或者希望某些算法不公開,你可以把你的部分程序用C或C 編寫,然后在你的Python程序中使用它們。 可嵌入性:你可以把Python嵌入你的C/C 程序,從而向你的程序用戶提供腳本功能。 2.2. 缺點(diǎn) 速度慢:Python是一種解釋型語言,根據(jù)解釋型語言的特點(diǎn),是逐行代碼編譯逐行執(zhí)行,所以相較于C#編譯型語言,一次性編譯好再運(yùn)行的特點(diǎn),會(huì)速度慢一點(diǎn),但是這種速度慢在人眼觀察是不太能察覺出來的。 代碼不能加密:因?yàn)镻ython是解釋型語言,所以其代碼都是明文的,作為安全性角度可能會(huì)造成一定困擾; CPU利用率問題:Python線程不能利用多CPU,GIL即全局解釋器鎖(Global Interpreter Lock),是計(jì)算機(jī)程序設(shè)計(jì)語言解釋器用于同步線程的工具,使得任何時(shí)刻僅有一個(gè)線程在執(zhí)行,Python的線程是操作系統(tǒng)的原生線程。 ? 3. Python的應(yīng)用 3.1. 云計(jì)算: 云計(jì)算最火的語言, 典型應(yīng)用OpenStack 3.2. WEB開發(fā): 眾多優(yōu)秀的WEB框架,眾多大型網(wǎng)站均為Python開發(fā),Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django 3.3. 科學(xué)運(yùn)算、人工智能: 典型庫NumPy, SciPy, Matplotlib, Enthought librarys,pandas 3.4. 系統(tǒng)運(yùn)維: 運(yùn)維人員必備語言 3.5. 金融:量化交易,金融分析,在金融工程領(lǐng)域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作為動(dòng)態(tài)語言的Python,語言結(jié)構(gòu)清晰簡(jiǎn)單,庫豐富,成熟穩(wěn)定,科學(xué)計(jì)算和統(tǒng)計(jì)分析都很牛逼,生產(chǎn)效率遠(yuǎn)遠(yuǎn)高于c,c ,java,尤其擅長(zhǎng)策略回測(cè) 3.6. 圖形GUI: PyQT, WxPython,TkInter ? 二. Python的安裝和環(huán)境準(zhǔn)備 1. 運(yùn)行環(huán)境及相關(guān)程序 1.1 目前我使用的win10環(huán)境; 1.2. Python安裝包(https://www./) 1.3. Pycharm安裝包(https://www./pycharm/download/) 2. 程序安裝 這里不做贅述,由于是在windows上安裝,是非常簡(jiǎn)單的。 ? 三. 基礎(chǔ)學(xué)習(xí) 1. print 和所有的語言學(xué)習(xí)第一課開始,大部分都會(huì)使用“hello world”,print從字面含義即可看出,是將內(nèi)容輸出到屏幕。 格式:print("需要輸出的內(nèi)容"),基本常識(shí),在絕大多數(shù)編程語言中,符號(hào)都一定使用英文半角模式。 print("hello world") 由上圖可知:在輸出文本內(nèi)容的時(shí)候,需要加上“”雙引號(hào)包裹輸出內(nèi)容,這一點(diǎn)在大多數(shù)語言中都是共通的,比如sql中對(duì)于varchar型的數(shù)據(jù)用"單引號(hào)包裹。 但是在輸出計(jì)算等特殊類型內(nèi)容的時(shí)候,則不能使用引號(hào)包裹,因?yàn)橐坏﹥?nèi)容被引號(hào)包裹,程序會(huì)將內(nèi)容轉(zhuǎn)換為文本型,只有輸出展示的作用。 ? 2. 注釋 注釋的作用,只要在IT行業(yè)從業(yè)的人員應(yīng)該都基本知道其重要性,這里依然啰嗦一下。在日常生產(chǎn)場(chǎng)景下,企業(yè)級(jí)應(yīng)用項(xiàng)目,基本都是開發(fā)人員以工作組形式進(jìn)行開發(fā)編寫,這樣就存在這代碼交接的情況,團(tuán)隊(duì)內(nèi)每個(gè)人的技術(shù)水平、理解水平等都不盡相同,這時(shí)候在比較復(fù)雜的功能邏輯代碼處,寫上原始開發(fā)者的注釋,起到一個(gè)說明的作用,是尤為重要的,即使并不是用于代碼交接,一套代碼長(zhǎng)年累月下來,代碼量何其大,如果在出現(xiàn)問題需要回顧底層早期代碼的時(shí)候,不一定能記得當(dāng)時(shí)寫這段代碼,到底是什么含義、為什么要這樣寫。所以一個(gè)稱職的IT從業(yè)人員,必須要有寫注釋的習(xí)慣。 注釋的原則:只對(duì)重要的部分寫注釋;注釋盡可能簡(jiǎn)潔明了。 # 學(xué)習(xí)單行注釋 由上圖可知:# 是注釋的標(biāo)識(shí)符,編寫注釋的時(shí)候,先寫一個(gè)“#” 然后空一個(gè)格(這樣是為了美觀,pycharm有快捷格式化代碼功能),然后寫上你的注釋內(nèi)容。注釋可以單獨(dú)一行編寫,也可以在代碼結(jié)尾編寫。 ? 3. 算數(shù)運(yùn)算符 “ ”,“-”,“*”,“/” :加減乘除; “//” : 取整除,例如7/2=3…1? 那么7//2=3; “%” :去余數(shù),例如8%3=2…2? 那么8%3=2; “**” : 冪次方,例如3**4,那么就代表數(shù)學(xué)中的3?=81; 由上圖可知:在第8行代碼,既有文本內(nèi)容,又有算數(shù)運(yùn)算符“*”,那么在Python中的處理邏輯是,重復(fù)文本內(nèi)容。 ? 4. 變量 4.1 變量類型和賦值 這里只簡(jiǎn)單提幾個(gè)常見的變量類型。 string:字符串類型,也是最常見和最初學(xué)掌握的內(nèi)容,使用“”雙引號(hào)包裹內(nèi)容; int:整型,和大部分IT技術(shù)語言一樣,int為整型自然數(shù),直接填寫數(shù)字內(nèi)容即可; bool:布爾型,常用做判斷使用,True/False; float:浮點(diǎn)型,帶小數(shù)點(diǎn)的數(shù)值,直接填寫數(shù)值內(nèi)容; # 不同類型的變量 由上圖可知:
? 4.2 變量的計(jì)算 定義價(jià)格price,重量weight,金額money # 定義價(jià)格 由上圖可知:
? 4.3 變量類型的轉(zhuǎn)換 # 不同類型的變量 由上圖及代碼可知:
? 來源:https://www./content-1-656001.html |
|