python基礎

Python概述

1.Python的語言特點

Python使用C語言開發,但是Python不再有C語言中的指針等複雜數據類型。Python的簡潔性使得軟件的代碼大幅度地減少,開發任務進一步簡化。程序員關注的重點不再是語法特性,而是程序所要實現的任務。

python語言的主要特點

(1)簡單:Python語言的關鍵字比較少,它沒有分號代碼使用空格或製表鍵縮進的方式來進行分隔,簡化了循環語句。Python的代碼簡潔、短小、易於閱讀。
(2)易學:Python及其容易上手,因爲Python有極其簡單的說明文檔。
(3)免費、開源:使用者可以自由地發佈這個的軟件的複製,閱讀它的源代碼。對它進行改動,把它的一部分用於新的自由軟件中。
(4)高層語言:無需考慮諸如如何管理內存一類的底層細節。
(5)可移植性:Python已經被移植在許多平臺上(經過改動使它能夠工作在不同的平臺上),這些平臺包括Linux、Windows等。
(6)解釋性:Python語言寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序。在計算機內部,Python解釋器把源代碼轉換成成爲字節碼的中間形式,然後再把它編譯成計算機使用的機器語言並運行。
(7)面向對象:Python既支持面向過程的編程也支持面向對象的編程。
(8)可擴展性:Python是採用C語言開發的,因此可以使用C語言廓鎮Python。
(9)可嵌入性:可以吧Python嵌入C/C++程序,從而使程序面向用戶提供腳本功能。
(10)豐富的庫:Python標準庫很龐大,可以幫助處理各種工作,包括正則表達式、文檔生成、單元測試、線程、數據庫、網頁瀏覽器、CGI、FTP‘電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統、GUI(圖形用戶界面)、T可其他與系統有關的操作。

 2.Python語言的應用場景

Python之所以成爲流行的編程語言,與他廣泛的應用場景是分不開的。
(1)系統編程:能方便進行系統維護和管理,是很多Linux系統管理員理想的編程工具。
(2)圖形處理:有PIL、Tkinter等圖形庫支持,能方便進行圖形處理。
(3)數學處理:NumPy擴展提供大量與標準數學庫的接口。
(4)文本處理:Python提供的re模塊能支持正則表達式,還提供SGML、XML分析模塊。
(5)數據庫編程:Python可以操作SQL server、MYSQL、Oracle等數據庫。
(6)網絡編程:提供豐富的模塊,支持sockets編程,能方便快速地開發分佈式應用程序。
(7)Web編程:可以作爲Web應用程序的開發語言。
(8)多媒體應用:Python的PyOpenGL模塊封裝了“OpenGL應用程序編程接口”,能進行二維和三維圖像處理。
 

 Python的版本與安裝

1.版本

     目前Python有版本2和版本3這兩個版本,它們之間並不兼容,語法存在差別。許多Python初學者比較糾結,其實無所謂,就看個人興趣愛好。版本之間有差異,也只是語法上有一些區別。總體思路沒有任何變化。本次博文使用Python 2.7.13版本在Windows系統進行操作。(python版本2已經不更新了,新學者建議使用版本3進行學習)

2.安裝

Python的安裝比較簡單,開發工具IDLE也會被同時安裝。用戶可以自行在https://www.python.org官網選擇Downloads找到windos進行下載。

Python的安裝方法相對簡單,IDLE工具圖形界面可以根據自身的需要進行需要。

Python的變量

   變量是計算機內存中的一塊區域,變量可以存儲任何指,而且值可以改變,變量名稱可以由字母、數字和下劃線組成。需要注意的是,不能使用Python的關鍵字,英文大小寫字母敏感,第一個字符必須是字母或下劃線,不可以是數字

列:qzt變量爲1,qztt變量爲2(查看變量使用print(查看變量的名字)

>>> qzt=1  
>>> qztt=2
>>> print(qzt)
1
>>> print(qztt)
2

 同時給多個變量賦值

>>> a,b,c=1,2,3  //同時給多個變量賦值
>>> print(a)
1
>>> print(b)
2
>>> print(c)
3

Python常用的數據類型

Python內置的數據類型有數字、字符串、元祖、列表和字典

1.數字

數字類型包括整數、浮點型、布爾型等,聲明時由Python內置的基本數據類型來管理變量,在程序的後臺實現數值與類型的關聯,以及轉換等操作。

1)整數型和浮點型

>>> q=123   //整數
>>> print (id(q))  //變量的標識可以使用id函數輸出
13568046
>>> print aaa
123

>>> q=1.23   //浮點
>>> print (id(q))
13582304
>>> print q
1.23
//雖然變量名稱一樣,但是變量名對應的ID號不一致
//最後一次賦值的變量生效

2)布爾型

布爾型用於邏輯運算,只有兩個值True(真)、False(假)表示真和假

>>> f = True
>>> print (f)
>>> if (f):
	print (1)
	
1

代碼定義了變量“f=True”,if是判斷語句,爲真則執行“print”語句,最後輸出的是1,說明語句執行成功。

>>> 3>4
False   //假
>>> 111>11
True   //真

3)Python運算符

Python中使用的算術運算符和數學運算中使用的符號基本相同,由+、-、*、/和小括號組成,運算順序也是先乘除後加減,小括號優先。

>>> q,z = 10,2
>>> print (x+b)
12
>>> print (5+5)
10
>>> print (5*5)
25
>>> print(5+5*2)
15

還可以實現兩個算術運算符,分別是:“%”(取餘運算)和“**”(求冪運算)。但是Python不支持自增運算符(++)和自減運算符(- -)

>>> 9%2  //餘1
1
>>> 2**3
8

2.字符串

1)使用字符串

在Python中有三種表示字符串的方式:單引號、多引號、三引號。如下:

>>> name ='北京'    //單引號
>>> address="昌平"  //雙引號
>>> content='''學習使我快樂'''  //三引號
>>> print (name)
北京
>>> print(address)
昌平
>>> print (content)
學習使我快樂

單引號和雙引號的作用是一樣的,可以根據習慣使用,但定義多行文字時,必須使用三引號。

2)使用字符串注意事項

字符串的定義方式單引號、雙引號、三引號大部分情況下作用都是一樣的。但在特殊情況下使用也有所區別。

①單引號、雙引號、三引號都是成對出現的,如意單引號開頭就要以單引號結尾, 不能混合使用表示字符串。如下錯誤示範:

>>> qinziteng='秦子"  //單引號和雙引號不能混合使用
SyntaxError: EOL while scanning string literal
>>> qinzieng="秦子''  //雙引號和兩個單引號不能混合使用
SyntaxError: EOL while scanning string literal
//單引號、雙引號、三引號都是成對出現的

②如果字符串中單獨出現單引號或雙引號,可以使用另一種引號進行定義 

>>> t="let's go!"                //雙引號定義
>>> print n
let's go!
>>> t='let"s go!'               //單引號定義
>>> print n
let"s go!
>>> t='''let's go! let"s go!'''            //三引號定義
>>> print n
let's go! let"s go!

③當引號出現在值的中間,作爲普通的字符串時,可使用“\”轉義符去除其他含義如:

>>> t='let\'do!' //轉義字符單引號
>>> print(t)
let'do!

>>> t="let\"go!" //轉義字符雙引號
>>> t
'let"go!'

常用的轉義字符: 

 

\(出現在行尾) 續行符
\\ 單個“\”符號
\' 單個單引號
\" 單個雙引號
\n 換行
\v 縱向製表符
\t 橫向製表符
\r 回車

3)字符串的其他用法

Python的字符串可以進行乘法的操作,可以用一個整數型數字和字符串進行相乘,比如:

>>> print (3*'a')    \\3倍字符串a
aaa

Python的字符串乘法非常實用,可以在寫代碼時帶來很大的便利。比如:

>>> t= " "  //空格字符串
>>> print (t)
 
>>> print ("www")
www
>>> print (t*2+"www")    //觀察www的位置
  www
>>> print (t*6+"www")   //觀察www的位置
      www
>>> 

定義了一個空格字符串變量t,在輸出是使用字符串乘法決定輸出的格式,很容易地實現了文字前面的空格,在其他語言中如果想要實現這種效果,代碼要複雜得多,Python的簡潔性體現得十分明顯。

3.列表

列表是Python中非常重要的數據類型,通常作爲函數的返回類型。由一組元素組成,列表可以實現添加、刪除和查找操作,元素值可以被修改。

1)列表的定義

列表是Python內置的一種數據結構,由中括號定義,元素以逗號分開,語法如下:

列表名 = [ 元素1,元素2,...]

如: 創建列表num,元素值爲001,002,003

>>> unm=['001','002','003']

2)列表的取值

①列表中的數據是有序的,按定義時的順序拍好,可以單獨取出某一位置元素的數值,語法如下:

print (列表名 [ 索引位置 ])

 如:

>>> unm=['001','002','003']
>>> print (unm[0])
001
>>> print (unm[1])
002
>>> print (unm[2])
003

定義了列表num,存儲了3個字符串。取值時用列表名+中括號,中括號中的數字表示索引位置,需要注意位置是由0開始依次遞增。

②可以獲取列表制定範圍的一組元素,語法如下:

print (列表名[起始位置:終止位置])

如下:

>>> print(unm[0:1])  
['001']
>>> print(unm[0:2])
['001', '002']
>>> print (unm[0:3])
['001', '002', '003']
>>> print (unm[0:3])
['001', '002', '003']
>>> 
//[0:1]表示由索引0開始,索引位置1之前的元素,所以只能取到第1個元素;
//[0:2]可以取到索引2之前的元素,即列表中第1、2個元素;
//[0:3]可以取到索引2之前的元素,即列表中第1、2、3個元素;
//並不顯示終止的值,比如[0:3],只顯示0,1,2這三個數字。

3)修改列表元素值

可以修改制定位置的列表元素值,語法如下:

列表名[索引位置]=值

如下:

>>> qinziteng=['001','002','003']
>>> print (qinziteng)
['001', '002', '003']  //索引位置0爲:001 位置1:002 位置2:003

>>> qinziteng[0]='004' //修改索引位置0的元素爲004
>>> print(qinziteng)
['004', '002', '003']

4)添加列表元素

①可以把一個元素添加到列表的最後,語法如下:

列表名.append[元素值]
>>> num=['001','002','003']
>>> print (num)
['001', '002', '003']

>>> num.append('004')
>>> print(num)
['001', '002', '003', '004']

②在列表指定位置前插入新的元素,語法如下:

列表名.insert(索引位置,元素值)

比如:

>>> num=['001','002','003']
>>> num.insert(1,'004')    //將內容004插入到索引1的位置
>>> print (num)
['001', '004', '002', '003']

5)刪除列表元素

語法:del 列表名[索引位置]

如:刪除num裏面索引爲1的內容

>>> num=['001','002','003']
>>> del num[1]
>>> print (num)
['001', '003']

6)查找列表元素

使用in關鍵字可以查找列表中是否存在指定的數值。

語法:元素值 in 列表名

>>> num=['001','002','003']
>>> '001' in num
True 
>>> '004' in num
False

7)合併列表

多個列表可以使用“+”號進行合併,如下:

>>> num1=['001','002']
>>> num2=['003','004']
>>> qin=num1+num2
>>> print(qin)
['001', '002', '003', '004']

>>> qin=num2+num1
>>> print(qin)
['003', '004', '001', '002']

使用加號進行合併時,加號後面的列表元素會追加到新表的後面

8)重複列表

使用星號可以對列表進行重複操作,與單獨字符串乘法操作相似,比如:

>>> num1=['001','002']
>>> num=num1*5
>>> print (num)
['001', '002', '001', '002', '001', '002', '001', '002', '001', '002']

9)列表常見的問題

①索引越界是使用列表時經常犯的一個錯誤,如列表中有3個元素,因爲索引位置是0開始計算的,所以最大的索引值是2,如果索引值大於2,則表示索引是越界的,程序無法執行,比如:

>>> num1=['001','002']
>>> print (num1[5])
Traceback (most recent call last):
  File "<pyshell#131>", line 1, in <module>
    print (num1[5])
IndexError: list index out of range

那麼但當使用小於0的負數索引時,不會出現錯誤,因爲Python列表的負數索引表示的是由列表的末尾進行反向的取值,也就是最後一個元素的位置也可以使用索引-1取值,以此類推。如下:

>>> num1=['001','002']
>>> print(num[-1])
002

②當獲取列表指定範圍的一組元素時,不存在列表索引越界的問題。比如:

>>> num1=['001','002']
>>> num=num1[1:5]
>>> print (num)
['002']

③獲取列表指定範圍時可以同時使用正數和負數索引。比如:

>>> num1=['001','002','003']
>>> print (num1[0:-1])
['001', '002']

 

 

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