python學習心得第一章

初始python

 

1什麼是程序

計算機程序是一組執行某種動做的的指令。和那些電路、芯片、顯卡、硬盤等不一樣,它不是計算機自己能夠觸摸的部分,而是隱藏在背後運行在硬件上面的東西。程序就是一系列告訴沒有知覺的硬件該作什麼事情的命令。軟件就是這些程序的集合。python

 

2.用什麼來構造程序呢?

和人類之間溝通同樣,計算機之間也是經過語言進行溝通的。這裏所說的語言就是編程語言(編寫程序的語言),每一種編程語言就是一種和計算機打交道的方法。就如英語,德語,法語,中文等。每一種編程語言就像各個國家的國語同樣會有名字。有些採用首字母,有些採用簡寫,甚至還有一些採用電視劇命名,如python語言。python語言採用著名的英劇《蒙提.派森的飛行馬戲團》。c++

 

3.python的由來

python是1989年聖誕節期間,Guido von Rossum爲了打發無聊的時間而進行編寫的。目的是開發一個全新的腳本語言做爲ABC語言的一種繼承。程序員

 

4.爲何選擇python語言?

1.python是普遍認同最容易學習的語言,它爲了讓程序員把精力都放在邏輯分析上面而不像c和c++那樣擁有太多複雜的語法而使開發效率降低。算法

2.python擁有大量的庫和函數,使得開發時大大的爲程序員提供了方便。編程

3.python在圖像處理,數據挖掘,爬蟲,人工智能方面的應該都極爲普遍,因爲其開發時語法簡單,能夠快速實現算法。不用過多的糾結語法。windows

下圖是python近幾年的運用程度。python2.7

 而且python在許多巨頭企業都有運用,好比Google,Facebook,NASA,知乎,騰訊,豆瓣,百度等幾乎99%的中大型互聯網公司都有其運用,再加上其強大的跨平臺能力,也被稱爲膠水語言,在後臺優化處理上有着本身的優點。編程語言

 

5.python的劣勢

python是出了名的慢,相對其餘語言雖然開發效率高可是也是出了名的慢,這一點未來python精通之後能夠學習c和c++將其嵌套在裏面,達到提速的效果,一旦開發成功之後,再將其嵌套。那就是件完美的做品。不只開發效率高,而且速度也不慢。函數

 

六、python的種類

一樣是python也會有各類各樣的。學習

cpython:將源碼轉換爲c的字節碼,而後運行在python的虛擬機(python內置的一種程序)上面。這一類是python的官方版本也是應該最爲普遍的一類。

Jpython:將源碼轉換爲Java的字節碼,而後在JVM上面運行。

pypy這是python的一個特殊類。它是邊寫邊編譯字節碼的雖然比其語言看起來編譯過程要慢。可是當它編寫完之後就直接是字節碼,能夠之間翻譯爲機器碼,不用再象其它語言那樣把源代碼再轉換爲字節碼。速度是最接近cpython的。由於c轉換爲機器碼是除了彙編語言之外最快的。

 

7.安裝pytho環境

一、window環境

輸入網址www,python.org,進入官網頁面

點擊上圖的Downloads

選擇windows裏面的版本肯定之後點擊download便可進行下載。

注意選擇本身電腦適合的版本如系統和位數

注意:若是你下載的版本是3.5在安裝的時候,第一個界面的最下面會有提示問你是否安裝環境變量這個必定要打勾

       若是你是2.7版本就要到計算機的屬性裏面的高級設置裏去改環境變量

把上圖中的path裏面的末尾添加c:\python27而後保存。這樣才能在終端使用2.7和3.5版本,因爲系統默認的是2.7而且3.5在默認安裝環境變量之後再path裏面是不顯示的,因此若是你要用3.5就把2.7的環境變量刪除之後點擊保存就能夠用3.5了。同理添加就能夠用2.7了。也能夠直接在終端直接執行3.5。

 2.Linux環境自帶python這也是python受歡迎的一個緣由。

 

8.python入門

讓咱們一塊兒來吟唱那句古老而神祕的咒語hello world

1.print ('hello world')

在c:\homework\day_1.py文件裏面保存這個代碼而後在python解釋器裏面直接執行含有這個代碼的.py文件便可

若是不想輸入上述的路徑,想要直接實現則須要在文件的開頭加上

1.#!/usr/bin/env python
2.
3.print('hello world')

 這樣直接執行./day_1.py文件便可(針對Linux系統,windows無效)

 

9.關於編碼問題

因爲計算機是由美國人發明的因此編碼問題最開發只是採用的ascii碼的方式進行編譯即全部的字母,字符,數字採用8位便可。總共是2**8個表示形式

後來計算機火遍全球,因此各個國家的語言加入進來顯然2的8次方中表示方法已近不夠用,最後延伸出來新的編碼規矩就是Unicode。

可是Unicode因爲最少站兩個字節即16位來存數據明顯有過多的浪費,明明一個字節的結果用了兩個。對內存產生的很差的影響,因此通過改進產生的utf-8和GBK兩個優化的新編碼規矩。

python即是採用utf-8這種規格。

utf-8採用ascii碼裏面的字符是一個字節,歐洲字符是兩個字節,東亞的字符是三個字節

因爲python2.7默認的是ascii編碼因此一下代碼沒法執行

1.#!/usr/bin/env python
2.
3.print('你好 世界')

 可是若是在前面編寫代碼以前告訴python解釋器你要用什麼規矩來編碼就能夠實現

1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*-
3.print('你好 世界')

 因爲python3.5默認的是utf-8這種方式因此就不用改直接輸出漢子便可

注意:#表示被註釋掉的行 不參與代碼的執行

 

10.python有不少的模塊,主要分紅三組

1組:內部自身提供的模塊

2組:業內開源的模塊

3組:程序員本身開發的模塊

好比畫圖的代碼

1.#!/usr/bin/env python 
2.#-*- coding: utf-8 -*-
3.import turtle
4.turtle.pen()
5.turtle.forward()

  

導入的是內部的turtle模塊 讓python幫你在計算機上面簡單的進行畫圖forward()和left()都是模塊裏面的函數

 

 

11.什麼是pyc文件

python每次執行完.py文件之後都會在計算機上面生成一個.pyc文件。這個就是編譯好的字節碼文件。之後電腦執行這個.py文件的時候就先去找.pyc文件。直接讓其翻譯成機器碼,不會再重複先翻譯成.pyc文件,讓開發速度提升減小cup的工做負擔。

 

12.什麼是變量

在編程語言中有字符串和數字和布爾值True,False(注意這兩個值都是必需要大寫的)True表明真值,False表明假值

name='liu yun xiang'#字符串用引號把內容括起來
pwd=1231231231#數字 

 這些字符串和數字每每都要賦值給一個變量

1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*-

1.name='xiang' 2.pwd=123

 上述中name和pwd都爲變量

變量是用來指代內存裏面某個地址保存的內容。

變量只能由數字,下劃線,字母組成。而且數字不能在第一個。python裏面的關鍵字是不能做爲變量的,例如import、if、and、or、等

 

13.變量在內存裏面的表現形式

1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*-
3.name1='wupeiqi'

 

1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*-

3.name1='wupiqi' 4.name2='alex'

 

1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*-

3.name1='wupeiqi 4.name2=name1 '

 注意:name2原來的值alex當name2變爲name1之後 alex這個值就會被python解釋器處理掉 不必定在內存裏面了

 

14.輸入程序

1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*-
3.name=input('輸入的內容')
4.print(name)

在執行程序的時候在輸入內容的地方輸入代碼,代碼的值就會賦給name,最後再輸出name。且name爲字符串

1.#!/usr/bin/env python
2.#-*- coding: utf-8 -*-
3.name=int(input('輸入的內容'))
3.print(name)

同上只不過輸出的不 再是字符串,而是整形。

 

15.if語句的應用

if語句在python裏面做爲經常使用語句,其功能就是判斷是否知足條件,若是知足就執行 若是不知足就執行else:

1.name='xiang'
2.if name=='xiang':
    print(123)
3.else:
    print(456)

 

若是知足條件name等於字符串'xiang'則輸出123,不然輸出456

當有多個條件的時候:

1.name='xiang'
2.if name=='xiang':
     print(123)
3.elif name=='liu':
     print(3123)
4.elif name=='yun':
     print(999) 
5.else:
     print(456)

知足if或者elif是執行其中代碼,若是都不知足執行else:

注意:if後面的條件能夠任意變化,以知足代碼要求

 

 

16.while循環語句

除了if之外還有一個經常使用的循環,while循環,裏面有continue和break兩種

1.continue(退出當前循環)

1.x=0#輸入一個變量x而且把它賦值爲0。
2.while<10:#進入while<10的循環。
   3.if x==7#進入條件語句判斷變量是否爲7,若是等於7 因爲continue退出當前循環。
       continue
   4.print(x)#打印x
   5.x=x+1#x+1之後再賦值給x
              

注意while循環沒法作到本身增長變量值若是不用x+=1改變變量值就好進入一個死循環不停的打印0.當咱們增長了if...continue這個條件之後當x變量增長到7的時候。退出當前循環,因爲不執行下面的代碼print(i)和x=x+1.因此x一直是7,當x爲7再次進入while裏面的時候又執行了continue。因此就產生了死循環。打印的結果爲0 1 2 3 4 5 6.

若是想讓while繼續循環就須要改動一下

1.x=0#輸入一個變量x而且把它賦值爲0。
2.while<10:#進入while<10的循環。
   3.if x==7#進入條件語句判斷變量是否爲7,若是等於7 因爲continue退出當前循環。
       x+=1
       continue
   4.print(x)#打印x
   5.x=x+1#x+1之後再賦值給x

 2.break退出整個循環

1.x=0#輸入一個變量x而且把它賦值爲0。
2.while<10:#進入while<10的循環。
   3.if x==7#進入條件語句判斷變量是否爲7,若是等於7 因爲continue退出當前循環。
       break#永遠退出該循環
   4.print(x)#打印x
   5.x=x+1#x+1之後再賦值給x

 若是在while循環的時候遇到了break。循環就直接跳出,而且不會再進入該循環

注意:while後面跟的條件爲真的時候纔會進入循環,爲假永遠都不會進入.

 

17.python的終端執行代碼

注意python和執行路徑之間有一個空格。

相關文章
相關標籤/搜索