python基礎知識總結

    python有段時間沒用了,實在是慚愧啊,屌絲今天決定開始對python基礎知識重新進行總結,以慰自心。

一.python概念

  1. Python是著名的“龜叔”Guido van Rossum在1989年聖誕節期間,爲了打發無聊的聖誕節而編寫的一個編程語言。

  2. python定位“優雅”,“簡單”,“明確”

二.python安裝

三.python基礎

1.輸入輸出

輸入輸出input/output,簡稱I/O

輸出:

print 語句也可以跟上多個字符串,用逗號“,”隔開,就可以連成一串輸出,逗號在print語句裏面看做空格,print可以輸出整數和進行運算輸出結果

輸入:

raw_input:輸入值並存放到變量裏面

變量相信不需要多說了


2.數據類型

整數:

    Python可以處理任意大小的整數,當然包括負整數,在程序中的表示方法和數學上的寫法一模一樣,例如:1100-80800,等等。

    計算機由於使用二進制,所以,有時候用十六進制表示整數比較方便,十六進制用0x前綴和0-9,a-f表示,例如:0xff000xa5b4c3d2,等等。

浮點數:

    浮點數也就是小數,之所以稱爲浮點數,是因爲按照科學記數法表示時,一個浮點數的小數點位置是可變的,比如,1.23x109和12.3x108是相等的。浮點數可以用數學寫法,如1.233.14-9.01,等等。但是對於很大或很小的浮點數,就必須用科學計數法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以寫成1.2e-5,等等。

    整數和浮點數在計算機內部存儲的方式是不同的,整數運算永遠是精確的(除法難道也是精確的?是的!),而浮點數運算則可能會有四捨五入的誤差。

字符串:

    字符串是以''或""括起來的任意文本,比如'abc'"xyz"等等。請注意,''或""本身只是一種表示方式,不是字符串的一部分,因此,字符串'abc'只有abc這3個字符。如果'本身也是一個字符,那就可以用""括起來,比如"I'm OK"包含的字符是I'm,空格,OK這6個字符。

    如果字符串內部既包含'又包含"怎麼辦?可以用轉義字符\來標識,比如:轉義字符\可以轉義很多字符,比如\n表示換行,\t表示製表符,字符\本身也要轉義,所以\\表示的字符就是\

    如果字符串裏面有很多字符都需要轉義,就需要加很多\,爲了簡化,Python還允許用r''表示''內部的字符串默認不轉義

    如果字符串內部有很多換行,用\n寫在一行裏不好閱讀,爲了簡化,Python允許用'''...'''的格式表示多行內容。

布爾值:


    布爾值和布爾代數的表示一致。布爾值只有True或者False兩種值,python可以用True 或 False表示布爾值,注意大小寫,也可以通過布爾運算,比如:

>>> True

True

>>> False

False

>>> 3 > 2

True

>>> 3 > 5

False

    布爾值可以用and or not 來運算,and是與運算,都是True纔會是True,or是或運算,有一個True就爲True,not是單目運算符,表示非運算True變False,False變True。

    布爾值一般用在條件判斷中

空值:

    空值是Python裏一個特殊的值,用None表示。None不能理解爲0,因爲0是有意義的,而None是一個特殊的空值。

    python還有列表,元組,字典,還有自定義數據類型,後面一一整理道來

變量:

    大小寫英文字母,數字,_下劃線且不能以數字開頭,可以表示各種數據類型

動態語言:變量本身類型不固定的稱爲動態語言,反之就是靜態語言,如java,聲明時必須指定類型

a='aaa'

表示在內存中創建aaa字符串,在內存中創建a變量,並將a變量指向aaa

a=b 

表示將a變量指向b變量的值

常量:

    不能變的變量,例如PI,python中沒有機制表示常量不能變,一般習慣用大寫字母來表示常量

3.字符串和編碼

    字符串是一種數據類型,字符串有一個問題就是編碼問題,計算機只能處理數字,要處理文本,必須將文本用數字來表示,這樣就有了編碼,而計算機是由美國人發明的,英文可以用一個字節表示,最早只有127個字符被編碼到計算機,這個編碼表稱爲ASCII碼,但處理中文一個字節不夠,至少需要兩個字節,而且還不能和ASCII碼衝突,所以,中國製定了GB2312碼

    全世界語言那麼多,各國有各國的標準,不可避免的會有衝突,unicode就這樣產生了,unicode通常是兩個字節,非常偏僻的字才用更多字節,ASCII碼前面補0就是unicode碼了

    用unicode碼也有問題,雖然統一用unicode編碼亂碼問題解決了,但是佔用空間大了,這樣就有了可變長編碼utf-8

    utf-8將一個unicode字符根據不同數字大小編碼成1-6個字節,常用的英文字母編碼爲一個字節,漢字通常三個字節,很生僻的字符纔會編碼成4-6個字節,如果用於大量英文,utf-8可以節省很多空間。UTF-8還一個好處就是ASCII碼實際可以看做utf-8的一部分,大量支持ASCII碼的歷史遺留軟件可以在utf-8編碼下繼續工作。

    搞清楚了ASCII、Unicode和UTF-8的關係,我們就可以總結一下現在計算機系統通用的字符編碼工作方式:

    在計算機內存中,統一使用Unicode編碼,當需要保存到硬盤或者需要傳輸的時候,就轉換爲UTF-8編碼。

    用記事本編輯的時候,從文件讀取的UTF-8字符被轉換爲Unicode字符到內存裏,編輯完成後,保存的時候再把Unicode轉換爲UTF-8保存到文件

    瀏覽網頁的時候,服務器會把動態生成的Unicode內容轉換爲UTF-8再傳輸到瀏覽器,所以你看到很多網頁的源碼上會有類似<meta charset="UTF-8" />的信息,表示該網頁正是用的UTF-8編碼。

4.python字符串

    python誕生比unicode早,所以最早的python只支持ASCII碼,字母和數字對應,python提供了ord()和chr()函數將字母和相應的數字兌換,python後來添加了對unicode支持,unicode字符串表示u'...','...'可以看做utf-8編碼或者ASCII編碼,但是u'...'只能看做unicode編碼,英文表示的unicode編碼和utf-8編碼一樣,但是佔用的空間不同,而中文字符轉換後一個unicode字符將變爲三個utf-8字符,len()函數返回字符串長度,將utf-8字符轉換爲unicode字符,用decode('utf-8'),python源碼也是一個文本文件,一般保存爲utf-8,#coding utf-8

5.格式化

    最常見的是輸出格式化的字符串,python的格式化和c語言一致,%s用字符串替換,%d用整數替換,如果只有一個%?,括號可以省略,

    常見的佔位符:

%s      字符串  

%d      整數

%f      浮點數

%x      十六進制整數

記住:格式化整數和浮點數可以指定是否補0和整數和小數的位數

>>> '%2d-%02d' % (3, 1)
' 3-01'
>>> '%.2f' % 3.1415926
'3.14'

如果你不確定用什麼,%s可以將任何數據類型轉換爲字符串

>>> 'Age: %s. Gender: %s' % (25, True)
'Age: 25. Gender: True'

對於unicode字符,用法完全一樣,但最好確保替換的字符串也是unicode字符串

>>> u'Hi, %s' % u'Michael'
u'Hi, Michael'

如果字符串的%也是一個普通字符,這就需要轉義,%%表示%

待續。。。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章