1. 程式人生 > >Oldboy_day01 Python的歷史,變數\常量\資料型別\使用者互動\流程控制\迴圈while

Oldboy_day01 Python的歷史,變數\常量\資料型別\使用者互動\流程控制\迴圈while

 

###學前動員###:老男孩IT培訓的師資力量

 

講師:邱彥濤;

專案經理:春生;

班主任:任安安;

銀角大王:武sir;

金角大王:Alex;

肖鋒:Python web 框架;

馬老師:資料庫+框架+資料庫;

趙博士:清華大學計算機博士;

 

 

一  學習內容簡介

 

  1. python的來源,歷史發展
  2. 如何程式設計python的程式
  3. 如何編寫變數。變數的命名規範
  4. 常量(寫法)
  5. 變數的資料型別(int,str,bool)
  6. 使用者互動(input),只能跑直線,
  7. 流程控制(讓程式有不同的方向選擇)
  8. 迴圈(while)

 

二  萬惡之源:Python簡介

 

  python的創始⼈人為吉多·範羅蘇姆(Guido van Rossum)。1989年年的聖誕節期間,吉多·範羅蘇姆為了了在阿姆斯特丹丹打發時間,決⼼心開發⼀一個新的指令碼解釋程式,作為ABC語⾔言的⼀一種繼承。

  C語言的延續,吉多.範羅蘇姆(龜叔),1989年開發。Python名字來源於電視劇。

  Python目前應用排名3

  1. Java:世界第一,在國外不火,在國內用Java比較多,在國外屬於中上游。大型企業級應用,比如股票金融、聯通。優勢:比較穩定。
  2. C:主要是作業系統。
  3. Python:主要是人工智慧。
  4. C++:主要是大型遊戲,比如在C上面的攻擊效果。
  5. VB:主要是國企業在用,一般是大學課程講的東西。
  6. C#:主要遊戲,ps4、遊戲機中跑的東西是C#的,吃雞也是該語言
  7. Javascript:網頁介面
  8.  PHP:全世界最好用的程式語言。做網頁和網站,領域比較單一。
  9.  SQL:是萬惡的根源,資料庫,最通用的語言。
  10.  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:登入驗證:資料應該放在資料庫中,目前沒學,自己建個簡單庫就行.