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