Oldboy_day01 Python的歷史,變數\常量\資料型別\使用者互動\流程控制\迴圈while
###學前動員###:老男孩IT培訓的師資力量
講師:邱彥濤;
專案經理:春生;
班主任:任安安;
銀角大王:武sir;
金角大王:Alex;
肖鋒:Python web 框架;
馬老師:資料庫+框架+資料庫;
趙博士:清華大學計算機博士;
一 學習內容簡介
- python的來源,歷史發展
- 如何程式設計python的程式
- 如何編寫變數。變數的命名規範
- 常量(寫法)
- 變數的資料型別(int,str,bool)
- 使用者互動(input),只能跑直線,
- 流程控制(讓程式有不同的方向選擇)
- 迴圈(while)
二 萬惡之源:Python簡介
python的創始⼈人為吉多·範羅蘇姆(Guido van Rossum)。1989年年的聖誕節期間,吉多·範羅蘇姆為了了在阿姆斯特丹丹打發時間,決⼼心開發⼀一個新的指令碼解釋程式,作為ABC語⾔言的⼀一種繼承。
C語言的延續,吉多.範羅蘇姆(龜叔),1989年開發。Python名字來源於電視劇。
Python目前應用排名3
- Java:世界第一,在國外不火,在國內用Java比較多,在國外屬於中上游。大型企業級應用,比如股票金融、聯通。優勢:比較穩定。
- C:主要是作業系統。
- Python:主要是人工智慧。
- C++:主要是大型遊戲,比如在C上面的攻擊效果。
- VB:主要是國企業在用,一般是大學課程講的東西。
- C#:主要遊戲,ps4、遊戲機中跑的東西是C#的,吃雞也是該語言
- Javascript:網頁介面
- PHP:全世界最好用的程式語言。做網頁和網站,領域比較單一。
- SQL:是萬惡的根源,資料庫,最通用的語言。
- Objective-C:手機上的系統。這是蘋果系統。安卓的程式設計師也死的很快。
每個語言都有擅長和不擅長的,沒有可比性。
Python的 主要應用的領域:
雲端計算: 雲端計算最⽕火的語⾔言, 典型應⽤用OpenStack
WEB開發: 眾多優秀的WEB框架,眾多⼤大型⽹網站均為Python開發,Youtube,Dropbox, ⾖豆瓣。。。, 典型WEB框架有Django
科學運算、⼈人⼯工智慧: 典型庫NumPy, SciPy, Matplotlib, Enthoughtlibrarys,pandas
系統運維: 運維⼈人員必備語⾔言
金融:量化交易,金融分析,在金融⼯工程領域,Python不但在用,且用的最多,而且重要性逐年提⾼。原因:作為動態語⾔言的Python,語⾔言結構清晰簡單,庫豐富,成熟穩定,科學計算和統計分析都很牛逼,⽣生產效率遠遠⾼於c,c++,java,尤其擅⻓長策略回測
圖形GUI: PyQT, WxPython,TkInter
三 Python是一門什麼語言:
Python是一門解釋性,弱型別的高階語言。
Python的程式是通過編譯器逐行解釋,並執行的.
1.解釋型和編譯型的區別:
(1)編譯型:C語言必須用編譯器轉化成,是編譯型,一次性把英文數字等全部編譯成二進位制,機器對二進位制是敏感的,編譯型語言是一次編譯,到處執行,執行效率高。
(2)編譯型:Python的程式是通過直譯器,逐行的解釋執行,把英文數字等一行一行的解釋成二進位制,然後一行一行的轉給計算機。由於直譯器所在,執行效率低,開發效率非常高。【目前的所有的遊戲都是編譯型】
2.Python的直譯器
Cpython(該直譯器是由C語言編寫,底層是C,上層是Python,官方提供的CPython)
Ipython(基於CPython開發的。互動和CPython有一些區別)
JPython(和Java平臺相關的Python直譯器)、IronPython(和.net平臺相關的Python直譯器)
PyPy(把Python程式一次性編譯。然後統一執行,把Python強行轉換成二進位制,其語法與Python有些許不同)
3.Python的執行方式
我們的程式是執行在Python直譯器上的。好處:程式不是直接面對的作業系統,而是面對的直譯器,只要更換直譯器,就可以實現無縫跨平臺,比如Linux和windows。
四 Python的發展歷史
1.龜叔1989年開始寫Python
2.1991年Python的編譯器誕生
3.1994年Python1.0
4.2000年Python2.0:整體規劃,加入記憶體回收機制。
5.2008年Python2.6(由於其開發性,受其他語言的影響,Python面臨著挑戰。)和Python3.0(把Python2中較好的程式,打包整理成Python3的版本,這兩個版本差距比較大)。
6.2010年Python2.7,在2020年終止更新。
五 第一個Python程式
1.安裝Python程式
2.python的命令列模式:在python中直接輸入,需要重新寫,沒辦法儲存,需要把程式碼寫在.py檔案中,這是很大的弊端。
3.先進入d盤:輸入d:
4.cd+空格:切換目錄 然後python +空格+檔案.py就可以執行該檔案。
5.Note++中出現如下錯誤:\xba需要改成utf-8,然後重新寫一下。
6.必須用英文狀態的,搜狗輸入法的設定方式。
六 變數
1.變數就是可變的值:變數的本質就是一個符號,負責儲存過程執行中產生的值,供給後面程式使用。比如money=0,一個月後,老闆發工資money=200,又花了就變成了money=100,這個money就是變數。
2.變數的命名規範:有些事Python規定的,有些是習慣而成的。
(1)變數必須由數字,字母,下劃線構成。不能使用@18,就會顯示語法錯誤.
(2)不可以數字開頭,更不能是純數字.比如1A.23是錯的,而A1就是正確的.出現下列情況就會衝突.
(3)不可以使用Python的關鍵字(官方已經使用的名字,比如if\while\else\elif).顏色都有特別的區分.
(4)規範性的習慣:
(5)不要用中文,國際化的字符集是不同的.
(6)不要太長,不容易讓人讀懂.
(7)區分大小寫,下面程式會報錯.一般大寫是常量.
(8)嘗試用英文簡稱,爭取變數的名字一定要人看懂.
(9)推薦使用駝峰或下劃線命名比如NameOfKen或name_of_ken.
七 常量
常量:就是不變數的,比如生日\pi(π)
1.絕對的常量在Python中是不存在的,一般認為大寫字母就是常量,不要輕易修改.如下:
2.直接寫一個數字或者寫一個值:比如print(18)
3.常量和變數的作用:(1)儲存,比如豬肉的應用.
4.單個等號 = 的說明:
單個等號 = 的運算級是所有運算級是最低的.把右邊的全部算完,才算=;
比如:先算*/+-,然後才是=;
必須是先把=右邊算完,然後賦值給=左邊
雙== 判斷:常用if中的判斷語句.
八 變數的資料型別(int,str,bool(布林))
1.int:整數,沒有小數點,比如1.25元就是小數.隨便給出一個數字就是整數,比如12\34等都是整數,不需要””\’’等特殊符號.一般都是+-*\:但是當出現10/3的時候就會出現下面情況.這個’5’是計算機底層原因造成的.整數是可以完美統計的,但是0-1之間的小數是無法統計的,用有限的空間解釋無限的空間,其他語言都是這樣,主要是處理精度問題.除法\運算可能不會像你想象的那麼完美.如果追求完美,可以把計算的小數擴大一億倍,然後就算完成,再縮小一億倍.
[補充:整除\餘數\次冪]
\\ 整除(商)
% 餘數
** 次冪:比如print(3**3)
2.str:字串,程式設計界使用頻率最高的資料型別.只要用雙引號””,單引號’’,三個單引號’’’’’’引上的都是字串.但是三個單引號是可以跨行的.[用單引號開頭,用單引號結尾,不能單雙配對]
(1) 字串之間可以相加 + :兩個字串拼接,不允許字串和數字相加.
(2)字串之間*,比如ken*5,展示的是5遍ken:kenkenkenkenken.
3.bool:布林
(1)命題:真命題(True),假命題(False)
(2)布林值只有兩個值:True和False
(3)作用:條件判斷.
[補充type\註釋]
1.type的用法:檢視資料型別.
2.註釋:很重要,不要忽視註釋的重要性.方便別人,也方便自己.
(1) 普通的行註釋: # 註釋的內容,可以用排除法,調節bug.
快捷鍵:control+/,就可以把選中的語法全部單行註釋.
(2) 塊註釋:一次性註釋一大塊.比如三個單引號’’’’’’或三個雙引號””””””:
九 使用者互動(input)
可以讓我們輸入一些東西,輸入一些東西,然後賦值給等號左邊.
input:獲取使用者輸入的內容,賦值給前面的變數,程式會停留在input,等待客戶輸入.
例如,簡單的計算器出現問題,input自動獲取的是字串,如需計算,需要資料型別轉換.
即:把字串轉化成數字int(),
你想把誰轉化成誰,就用int括起來,
字串必須是數字,不能是字母
十 if語句的流程控制
語法1: if+空格+條件判斷:+回車
tab+語句塊
#只有tab才能產生從屬關係.
#大於號之前的是字串,而之後是數字,所以報錯,需要int()轉化.
調整後:
執行流程:判斷條件為真,如果為真,則執行if,否則不執行.
語法2:else
if 條件判斷
If-語句塊
else:
else-語句塊
執行流程:判斷if,如果為真,執行if;如果為False,執行else.
語法3:elif
If 條件判斷:
If-語句塊
elif 條件判斷:
elif-01-語句塊
elif 條件判斷
elif-02-語句塊
……
else:
else-語句塊
執行流程:判斷條件是否為真,如果真,執行if,如果elif-01 為真,執行elif-01,以此類推.如果以上條件都不成立,執行else的成績.
例如:>=90#大於等於90分,是優秀. >=80#大於等於80分,是良好.預設小於90大於等於80.即:如果有一個條件成立了,其他條件就不執行了.
!= 不等於 !=67 不等於67
語法4:if巢狀
if語句可以互相巢狀.但是一般寫程式不要超過5層.最好在3層左右.
[補充]and 並且,左邊和右邊同時成立
例如:判斷一個人是男女,年齡,身高等條件判斷.
十一 while 迴圈
1.while是一個不斷迴圈,可以反覆的執行同一段程式碼.
While 條件判斷:
迴圈體
執行流程:如果條件為真,如果真,則執行迴圈體,在判斷條件是真,如果真繼續迴圈.直到……條件為假.迴圈結束.
例如1:東北你愁啥? 瞅你咋了,再收個試試…的死迴圈
#此迴圈不能停,是死迴圈.
#ctrol+c才可中斷.
2.break和continue的區別
(1)Break:徹底終止迴圈,跳出迴圈,主要應用於在不知情情況下,找到了結果,就退出.
(2)Continue:停止當前本次迴圈,繼續下一次迴圈.在程式執行過程中,有特殊情況,又不影響整體情況下,繼續尋找下一次.
例2:不能打斷輸入迴圈:
#此時不能出來,只能不斷迴圈
#break 打斷,徹底打斷本層while迴圈.
例3:通過常量Q打斷
例4:continue:打斷,終止當前本次迴圈,繼續執行下一次迴圈.
十二 練習
練習01:讓程式能數數,從1到100;
除了67都能列印[不列印67]
練習02:計算1+2+3+……+100=?
[在迴圈的過程中.本次運算需要之前的所有數字的運算的結構,需要累計運算]
因此需另一個sum變數,sum=sum+i
練習03:登入驗證:資料應該放在資料庫中,目前沒學,自己建個簡單庫就行.