1. 程式人生 > >Life is short,you need python!(1)

Life is short,you need python!(1)

占用空間 span 復合 無法 類型轉換 常用 bili ren 位或

技術分享圖片

前言

Python是一種什麽語言呢?

首先,我們先了解一下編程語言的基本知識:用任何編程語言來開發程序都是讓計算機為我們所用,比如開發一款APP、編寫一篇文檔等等。而計算機幹活的CPU只聽得懂機器指令,所以盡管不同的編譯語言差異很大最後都得翻譯成CPU可以執行的機器指令。

而不同的編譯語言,幹同一個活,編寫的代碼量差異也很大。比如,做同一個遊戲,C語言要寫1000行代碼,C++要寫300行,而Python也許只要30行。

所以Python是一種非常高級的語言。


【1】Python與其他語言對比

技術分享圖片

整理得不好請指正

綜上所述,Python是一種解釋型(沒有編譯環節)、交互式(可以在一個Python提示符下直接互動執行你寫的程序)、面向對象

(支持面向對象的風格或代碼封裝在對象的編程技術)、動態數據類型的高級程序語言。

【2】準備階段

(以下是2.X版本)

1)IDE

①PYCharm(https://www.jetbrains.com/pycharm/download/)

帶有一整套可以幫助用戶在使用Python語言開發時提高其效率的工具,比如調試、語法高亮、project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。此外,該IDE提供了一些高級功能,以用於支持Django框架下的專業Web開發。

②Cpython

官方版本,下載時自帶。

2)文本編輯器

在python的交互式命令行寫程序,雖然能立即得到結果,但是無法保存。所以實際開發時總是使用一個文本編輯器來寫代碼,寫完保存成一個文件後就可以反復運行程序了。

Notepad++

我用的是下載自帶的Untitled

技術分享圖片

難點


技術分享圖片

小結

【3】基礎要打好!

1)輸入和輸出

技術分享圖片

輸出

print會依次打印每個字符串,遇到“,”會輸出一個空格。

技術分享圖片

輸入

任何計算機程序都是為了執行一個特定任務,有了輸入用戶才能告訴計算機程序所需的信息;有了輸出,程序運行後才能告訴用戶任務的結果。

raw_input和print是在命令行下最基本的輸入和輸出。

2)數據類型

在Python中,能直接處理的數據類型有:

①整數:和數學上一樣,如110、-666等;用十六進制(0x前綴)較方便,如0xff00等。包括有長整型long(用L表示)和符號整型int。

②浮點數(float):就是小數,可用數學寫法,如1.23、-6.54;對很大或很小的浮點數必須用科學記數法,把十用e替代,2.34*10^9就是2.34e9或23.4e8.整數和浮點數在計算機內部存儲方式不同,整數運算永遠精確,而浮點數運算可能有四舍五入的誤差。

③復數(complex):復數由實數部分和虛數部分構成,可以用 a + bj,或者 complex(a,b) 表示, 復數的實部 a 和虛部 b 都是浮點型

④字符串(string)是以單引號' '或雙引號" "括起來的數字、字母、下劃線組成的任意文本

python的字串列表有2種取值順序:一種是從左到右索引默認0開始的,最大範圍是字符串長度少1;另一種是從右到左索引默認-1開始的,最大範圍是字符串開頭。

從字符串中獲取一段子字符串,可以使用變量 [頭下標:尾下標]截取相應的字符串,其中下標是從 0 開始算起,可以是正數或負數,下標可以為空表示取到頭或尾當使用以冒號分隔的字符串,python返回一個新的對象,結果包含了以這對偏移標識的連續的內容,左邊的開始包含下邊界,但取到的最大範圍不包括上邊界;加號(+)是字符串連接運算符星號(*)是重復操作

看個例子都明白了:

技術分享圖片

截取各類子字符串

【轉義字符\可以轉義許多字符,比如\n表示轉行,\t表示制表符,字符\本身也要轉義,所以\\表示的字符就是\。

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

如果字符串內部有很多換行,Pyhon允許用'''(前後三個單引號)的格式表示多行內容】

⑤布爾值(bool):只有True和False兩種值(註意大小寫),可以用and、or和not運算,常用在條件判斷中。

⑥空值(None):是Python裏面一個特殊的值,不能理解為0,因為0是有意義的,而None是一個特殊的空值。

⑦列表(list)用 [ ] 標識,可以完成大多數集合類的復合數據結構實現,支持字符,數字,字符串甚至可以包含列表(即嵌套)。

類似截取子字符串,用變量 [頭下標:尾下標] 就可以截取相應的列表,從左到右索引默認 0 開始,從右到左索引默認 -1 開始下標可以為空表示取到頭或尾;加號 + 是列表連接運算符,星號 * 是重復操作

技術分享圖片

截取各類子列表

⑧元組(tuple):用()標識,內部元素用逗號隔開。

技術分享圖片

截取各類子元組

註意!!!!元組是不允許更新的。而列表是允許更新的。就是說元組不能二次賦值,相當於只讀列表。看下面:

技術分享圖片

錯錯錯,是元組的錯

⑨字典(dictionary):用"{ }"標識,由索引(key)和它對應的值value組成。除列表以外python之中最靈活的內置數據結構類型列表是有序的對象集合,字典是無序的對象集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取

定義: d = ["key1":value1, "key2":value2] 一個key只能對應一個value 。如果key不存在,就會報錯 ,可以通過 key in dict 來判斷dict中是否有這個key ,要刪除一個key,可以用pop(key)來刪除,相對應的value也會被刪除 ,dict內部存放的順序和key放入的順序是沒有關系的

和list比較,dict有以下幾個特點:查找和插入的速度極快,不會隨著key的增加而增加;需要占用大量的內存,內存浪費多。而list相反:查找和插入的時間隨著元素的增加而增加;占用空間小,浪費內存很少。 所以,dict是用空間來換取時間的一種方法。

技術分享圖片

存取字典元素

⑩集合(set)

和dict類似,也是一組key的集合,但不存儲value。由於key不能重復,所以,在set中,沒有重復的key。要創建一個set,需要提供一個list作為輸入集合.

set可以看成數學意義上的無序和無重復元素的集合,因此,兩個set可以做數學意義上的交集( & )、並集( | )等操作。通過add(key)方法可以添加元素到set中,可以重復添加,但不會有效果;通過remove(key)方法可以刪除元素

此外,還允許數據類型轉換、創建自定義數據類型等等,待補充。

3)變量和常量

①變量

變量在程序中用一個變量名表示,變量名必須是英文、數字和_的組合,且不能以數字開頭

Python 中的變量賦值不需要類型聲明,但每個變量在使用前都必須賦值,變量賦值以後該變量才會被創建,每個變量在內存中創建,都包括變量的標識,名稱和數據這些信息。等號(=)就用來給變量賦值,左邊是一個變量名,等號(=)運算符右邊是存儲在變量中的值。

Python允許多個變量同時賦值。如a = b = c = 1就創建了一個值為1的整型對象,三個變量被分配到相同的內存空間上(一個對象指定多個變量);又如:a, b, c = 1, 2, "john"將兩個整型對象1和2的分配給變量 a 和 b,字符串對象 "john" 分配給變量 c(多個對象指定多個變量)。

常量

Python中常用全部大寫的變量名表示常量,如PI(圓周率)

4) 運算符

Python語言支持以下類型的運算符:

①算術運算符:加(+)減(-)乘(*)除(/)取模(%)取整除(//)冪(**)

【取模 - 返回除法的余數;冪 - 返回x的y次冪;取整除 - 返回商的整數部分】註意:Python2.x 裏,整數除整數,只能得出整數。如果要得到小數部分,把其中一個數改成浮點數即可。

②比較運算符:等於(==)不等於(!=)不等於(<>)大於(>)小於(<)大於等於(>=)小於等於(<=)

③賦值運算符

技術分享圖片

賦值運算符

④位運算符:&(按位與) |(按位或) ^(按位異或) ~(按位取反) <<(左移動運算符) >>(右移動運算符)

⑤邏輯運算符:and(與)or(或)not(非)

⑥成員運算符:in(x 在 y 序列中 , 如果 x 在 y 序列中返回 True);not in(在指定的序列中沒有找到值返回 True,否則返回 False)

⑦身份運算符:is(x is y, 類似 id(x) == id(y) , 如果這兩個標識符引用的是同一個對象則返回 True,否則返回 False);is not (x is not y , 類似 id(a) != id(b)。如果引用的不是同一個對象則返回結果 True,否則返回 False)

⑧運算符優先級

技術分享圖片

從高到低

【4】下載與資料

1)最新源碼,二進制文檔,新聞資訊可以在Python官網看到:http://www.python.org/

2)Python文檔(支持HTML、PDF、PostScript等格式)下載地址:www.python.org/doc/


Life is short,you need python!(1)