最近學習了python3的語法,整理記錄一下;
語法是編程的先決條件,精通語法是編好程序的必要條件;
給我最大的感受是:這個語言的編寫,竟然不使用
{ }
來控制代碼塊的區域,而是使用縮進來分割代碼塊,因此使用python語言編寫的代碼不能壓縮混淆。可以簡寫就簡寫,毫不拖泥帶水
在python編程的世界裏面,廣爲傳頌的名言:Life is Simple ,I Use Python
;python語言相對於其餘語言來講,最大的特色是:簡潔。爲何呢?來看一個變量交互的例子:python
# 不少語言中,須要一個臨時變量來交換 temp = x x = y y = temp # 在python中 x,y = y,x
python的功能很強大,能夠作爬蟲,自動化運維與自動化測試,大數據與數據分析(Spark),AI(機器學習 Tensor Flow),Web開發(Flask,Django),腳本處理。還能夠跨平臺運行,是面向對象的語言,又有動態腳本的特性(和Javascript同樣,屬於解釋型語言,不用編譯成二進制文件;編譯型語言會編譯成二進制文件供機器執行,相對而言運行效率高)。編程
python語言也被稱做爲:膠水語言,能夠混合其餘如C++,Java等來編程;能夠把其餘語言製做的各類模塊(尤爲是C/C++)很輕鬆的聯結在一塊兒。數據結構
很喜歡的兩句話:app
# python 之禪 Simple is better than complex. 簡潔勝於複雜; 這和Steve Jobs的蘋果系列產品的理念是一致的 Now is better than never. Although never is often better than right now. 作也許好過不作,但不假思索就動手還不如不作; 勤于思考,分析致使問題的緣由,不作無用功
代碼:是現實世界事物在計算機世界中的 映射;
寫代碼:是將現實世界中的事物用計算機語言來描述
Number(數字)運維
python3中的浮點數不分精度(單/雙),整型不分短和長(short / long);布爾值必定是大寫的True / False
;列表使用[ ]
,元組使用( )
,集合使用{ }
,字典使用{ k:v }
機器學習
type(1+1.0) # 1.1 float type(2 / 2) # 1.0 float type(2 // 2) # 1 int a = 123 # 不須要寫變量的類型 isinstance(a,int) # True
上面代碼裏面,type()函數來檢查變量的數據類型,也可使用isinstance
來判斷一個變量是否屬於這個類型;區別在於:函數
type()不會認爲子類是一種父類類型。 isinstance()會認爲子類是一種父類類型。
/
:表示除法,結果自動轉爲float類型; //
:表示整除,求的是整數部分,不會四捨五入;
聲明變量不須要在前面寫上變量的類型,直接寫一個變量名就行,不像其餘語言要標明數據類型,或者是寫上var/ let/ const
工具
字符串是不可變的;這三種都是有序的
print("icessun"*3) >>> 'icessunicessunicessun' # 元組的重複 元組裏面能夠有不一樣的數據類型 (1,‘1’,True,[1,2,4]) (1,2,3)*3 >>> (1,2,3,1,2,3,1,2,3) # 在元組後面添加元素 使用append()方法 b = [1,2,3] b.append(4) print(b) >>> [1,2,3,4] # 元組使用+相加 (1,2,3)+(2,3,4) >>> (1,2,3,2,3,4) # 列表的重複 ['ice','icess']*3 >>> ['ice','icess','ice','icess','ice','icess']
[起始位置,長度];截取從起始位置,長度個字符;
長度負數表示刪除從字符串末尾往前數的字符個數;
長度省略表示到末尾;
長度要是超過可截取的位數,以可截取的位數爲標準;學習
a = 'icessun' print(a[0:4]) >>> 'ices' print(a[0:-2]) >>> 'icess' print(a[0:]) >>> 'icessun' print(a[1:-0]) >>> ' ' # 表示截取了一個空字符串 print(a[1:0]) >>> ' ' # 表示截取了一個空字符串 print(a[:-4]) >>> 'ice' print(a[-4:]) >>> 'ssun' # 起始位置爲負數是表示從末尾開始數(從1開始數)到末尾,要是起始位置是負數,那麼步長必定省略,否者獲得的是空字符串
# 都是經過索引來訪問的 "icessun"[0] >>> 'i' ['a','b','c'][0] >>> 'a' ('a',2,True)[2] >>> True # 均可以使用len()這個函數來求長度
a = 'icessun' type(a[0:4]) >>> <class 'str'> ["ice","icess","icessun"][0] >>> 'ice' # 是字符串 ["ice","icess","icessun"][0:2] >>> ["ice","icess"] # 是列表
type( (1) ) >>> <class 'int'> type( ('a') ) >>> <class 'str'>
通常來講:( )
能夠表示元組,也能夠表示數學運算的優先級;因此當想表示一個只有一個元素的元組,應該這樣:( (1,) )
;在元素的 後面加上一個逗號;表示一個空的元組:( ( ) )
測試
無序的,不能經過索引訪問,裏面的元素不重複
1 in {1,2} >>> True 3 not in {1,2,3,4} >>> False
# 集合的差集 去掉相同的元素,之前面集合爲標準,從一個集合裏面去掉後面集合特有的元素 {1,2,3}-{2,3} >>> {1} {1,2,3}-{4} >>> {1,2,3} {1}-{4,2,3} >>> {1} # 集合的交集 找兩個集合的公有元素 {1,2,3}&{2,3} >>> {2,3} {1,3}&{2} >>> set( ) # 表示空集 len(set()) -----> 0 # 集合的並集 把兩個集合合併在一塊兒,按照從前日後的順序,去掉相同的元素 {1,2,4}|{2,3} >>> {1,2,4,3}
# 空集合的表示 set()
{ key : value},鍵值對的形式,相似於Javascript中的對象
int,str,元組
{ }