1. 程式人生 > >Python——初識Python

Python——初識Python

本篇主要內容:

• Python的特點

• Python的種類

• Python的編碼

• Python的安裝環境推薦

• Python的基礎用法:輸入輸出,算術運算子,邏輯運算子,基本程式結構語法

  我為什麼要學Python呢?很簡單,Python實在是太強大了。它不需要很專業的資料結構、演算法知識,需要用的路別人都鋪好了,並且鋪的特別平正,我們需要做的就是去調包即可,可以節省大量的時間。但是正是由於別人都把工作安排的明明白白,導致很多學Python的人到頭來只會搬磚,所以我要清楚,語言只是工具,不管去用來做什麼,都要懂得其中之理。

  Python的特點:

即快又慢,快在它開發速度快,搭建一個網站只需要幾行程式碼,做大量資料的資料也只是需要幾行程式碼,開發者在很短的時間內就能做出自己想做的產品。慢在它的效能,執行同樣的功能,C需要1秒,Python就至少需要10秒,就是因為Python的高度封裝性,可能只是一行打碼,但其底層會花費大量的時間。但是隨著現在CPU執行速度的快速發展,Python的劣勢越來越低,C的0.01s和Python的0.1s在我們看來沒有任何區別,都是瞬間出結果。所以Python這幾年的使用率一路飆升,已經超過了C++位居第三。

  Python的種類:目前用的最多的Python是用C語言寫的,也叫CPython,其任何操作都是由Python直譯器解釋為C程式碼再執行的,效率也比較高。除此之外,還有JavaPython,C#Python,PyPy,他們的底層分別是Java,C#,Python,Pypy是對Python的再度封裝,使其更加簡潔,但是使用率不高。這三種Python幾乎沒人用,因為Java,C#也都是以C為底層的。。。直接用CPython就行啦。除非一些限制場景,比如Python要跟Java互動,這樣的話用JavaPython會更好。大概就是下面這幅圖的關係。

知道為什麼大學裡面第一個程式設計基礎課是C了吧。他幾乎是所有程式語言的祖宗。簡單而又底層。所以如果想學好程式語言,還是要把C學踏實。學其他語言的時候才更容易理解,更容易找到錯誤所在。

  Python的編碼:Python3的py檔案都是以utf-8編碼的。Python2則不是,需要加上#  -*- coding:utf-8 -*-。各種編碼關係如下圖所示。

 

  出現utf-8就是因為Unicode在處理字母時,也會編碼為16位,這樣的話高8位就全為0,反而浪費很多空間,所以utf-8就把字母編碼為8位(1位元組),把漢字編碼為16位。其他國家語言的可能還有24位的。

  Python安裝:

  強烈建議安裝anoconda!!!他是Pyhon的開源環境管理包,安裝了它,就有了Python,同時也會有Numpy,matplotlib這種非常常用的庫,還會附帶的有jupyter notebook,寫Python的利器。具體安裝方法網上多的是,只需要注意一定要勾選把路徑配置到環境變數就行。

  IDE的話,上面說的jupyter notebook很不錯,還有更專業的Pycharm(網上各種破解方法)。這兩個就完全夠了,Pycharm屬於重量級的PythonIDE,比較吃記憶體,但他的功能也是十分的強大,想寫個小專案,大專案完全沒問題。jupyter notebook支援分段執行程式,在日常的學習中非常有用。

 

Python基礎:

1、輸入輸出

a=input("Input something")

 

 這一句就相當於C裡面的scanf,C++裡面cin了,不過Python的input把所有輸入的都儲存為字串了。

其實這個輸入並沒什麼卵用。知道就行了。

print("Hello World!")

 

驚不驚喜,意不意外,一個Hello World!程式就這樣寫好了。。。。哈哈哈

原始碼裡面是這樣的。。。(pass是什麼鬼,就不能寫寫是怎麼實現的麼,直接Pass了,應該在其他地方)這個

 這個API

*args 表示可以同時輸出多個內容,

sep=' ',表示輸出多個內容時中間用空格隔開

end='\n',表示輸出的內容以換行符為標誌換行。
file,表示可以列印檔案流。沒用過這個

a=10
b=20
c="Hello World!"
print(a,b,c,"\nAlbert!",sep=',,,',end='\n')

 

打印出來就是

10,,,20,,,Hello World!,,,
Albert!

 

有時候想格式化列印還是挺有意思的。

2、算數運算子

對於數字的+ - * /就不用多說了。

%表示求餘,

/表示除(不用處理整型浮點型問題,/會自動處理)

//表示求商,就相當於將除的結果取整,得到的還是整數。

**表示乘方運算。相當於數學符號^

注意Python可以直接用+ -  *對字串進行操作。

3、邏輯運算子

Python裡與是and,或是or,非是not。這個跟C裡面就不一樣的,當成我就用混過,

不過經過試驗,與可以用&,或可以用|,非不可以用!。

還有一個非常好用的in

a in b會返回a是否在b裡面,這個以後在列表,字典,元組,字串中很好用。判斷不在就是a not in b。

這樣就不用自己去寫遍歷,或者二分查詢演算法了。

4、程式結構

當然是順序,分支,迴圈啦。

分支:

a=97
b=99
if a>b:
    print("a大於b")
elif a==b:
    print("a等於b")
else:
    print("a小於b")

 

注意:Python裡面不{}表示程式碼塊,而是用的不同的縮排。同樣的縮排表示在同一個程式碼塊裡面,而不用大括號括住了。

         注意冒號:,這個也跟其他程式語言不一樣。剛開始我就有點沒反應過來。

迴圈

while 1==1:
    print("I LOVE YOU")

 

注意迴圈條件,冒號,縮排就行(縮排用tab鍵)

a=[1,2,3,4,5,6]
for i in a:
    print(i)

 

最常用的還是這種,遍歷所有元素。也不用什麼i++,他會自己進行迭代。

輸出

1
2
3
4
5
6

 

他能遍歷很多資料型別。

a="I LOVE YOU"
for i in a:
    print(i)


輸出:
I
 
L
O
V
E
 
Y
O
U

 

今天這個就複習到這裡。明天寫資料型別。