首頁 >後端開發 >Python教學 >深入淺出解析Python基礎語法

深入淺出解析Python基礎語法

rainbow
rainbow原創
2020-05-22 10:30:44204瀏覽

每天分享10條,一起飛!

1、列表分片:

深入淺出解析Python基礎語法

2、列表神奇的地方:

(1)比較大小:

2_深入淺出解析Python基礎語法

(2)列表相加:

深入淺出解析Python基礎語法

(3)列表用乘法時,變成複合賦值:

深入淺出解析Python基礎語法

(4)列表中in/not in的用法:

深入淺出解析Python基礎語法

#(5)列表分片"拷貝"的概念:

分片拷貝語法:列表名稱[:];

分片拷貝的本質:開啟一個新的記憶體空間;

深入淺出解析Python基礎語法

##備註:真正的拷貝是要使用分片的方法;

3、元組與列表之間的區別:

答案:元組和列表最大的差別就是你可以任意修改列表中的元素,可以任意插入或刪除一個元素,而對元組是不行的,元組是不可改變(像字串一樣),所以你也別指望對元組進行原地排序等高階操作了。

3_深入淺出解析Python基礎語法

備註:元組可以不用小括號來定義(list = 1,2,3,4)

深入淺出解析Python基礎語法

4、利用字串的拼接來實現更新與刪除:

4_深入淺出解析Python基礎語法

深入淺出解析Python基礎語法

#5、用join來分隔字串:

5_深入淺出解析Python基礎語法

split()跟join()剛好相反, split()用來拆分字串:

深入淺出解析Python基礎語法

replace()方法如其名,就是取代指定的字串:

深入淺出解析Python基礎語法

#6、字串的格式化:

(1)format ()函數使用:

6_深入淺出解析Python基礎語法

(2)格式化運算子:%

深入淺出解析Python基礎語法

7、序列:

(1)list()、tuple()、str(obj);

7_深入淺出解析Python基礎語法

#(2)len();

深入淺出解析Python基礎語法

(3)max()和min();

深入淺出解析Python基礎語法

(4)sum()、sorted()和reversed();

深入淺出解析Python基礎語法

(5)enumerate()和zip();

深入淺出解析Python基礎語法

8、python函數:

(1)函數文件

深入淺出解析Python基礎語法

(2)關鍵字參數:深入淺出解析Python基礎語法

深入淺出解析Python基礎語法##(3)預設參數:

這點跟PHP很像

深入淺出解析Python基礎語法(4)收集參數:

這一點很有趣,為懶人準備的

星號*其實即可以打包又可以'解包",假如你需要將一個列表a傳入test參數的收集參數*params中,那麼調用test(a)時便會出錯,此時需要在a前邊加上個星號(*)表示實參需要"解包"後才能使用:

深入淺出解析Python基礎語法

(5)全域變數:

深入淺出解析Python基礎語法但不排除有些人還是堅持"虛心接受,死性不改"這八字原則,仍然覺得有必要在函數中去修改這個全域變量,那麼你不妨可以使用global關鍵字來達到目的!我個人覺得最有意思,有深度;

閉包是函數式程式設計的重要的語法結構,函數式程式設計是一種程式設計範式,著名的函數式程式語言就是LISP語言(大家可能會聽說過這門語言,主要應用於繪圖和人工智慧,一直被認為是天才程式設計師使用的語言)。調內部函數;

深入淺出解析Python基礎語法(8)lambda表達式:又稱匿名函數

##(9)filter( )和map():

filter()有兩個參數。裡的每一個元素作為函數的參數進行計算,把返回True的值篩選出夠;如果第一個參數為None,則直接將第二個參數中為True的值篩選出來,來,我們直接看個範例:深入淺出解析Python基礎語法

8_1深入淺出解析Python基礎語法

map在這裡不是地圖的意思,在程式設計領域,map一般作"映射"來解釋。也有兩個參數,仍然是一個函數和一個可迭代序列,將序列的每一個元素作為函數的參數進行運算加工,直到可迭代序列每個元素都加工完畢,返回所有加工後的元素構成的新序列。 ##遞歸這個概念,是演算法的範疇,本來不屬於Python語言的語法內容,但每個程式語言系列教學裡都要講遞歸,那是因為如果你掌握了遞歸的方法和技巧,你會發現這是一個非常棒的程式設計思路!一個行為,接下來我們來看一個階乘範例:

深入淺出解析Python基礎語法

9、字典和集合:(1)建立和存取字典:

深入淺出解析Python基礎語法字典是Python中唯一的映射類型,映射是數學上的術語,指兩個元素集之間元素相互「對應」的關係。如圖所示,映射圖解;

深入淺出解析Python基礎語法透過{}來建立:

#透過dict()來建立字典:

建議用{}來建立字典,看起來舒服;深入淺出解析Python基礎語法

# (2)字典內建方法:

fromkeys()方法用於建立並傳回一個新的字典,它有兩個參數:第一個參數是字典的鍵;第二個參數是可選的,是傳入鍵對應的值。如果不提供,那麼預設是None,舉個例子:

9_2_深入淺出解析Python基礎語法這個例子告訴我們做事不能總是想當然,有時候現實會給你狠狠的一棒,fromkeys()方法並不會將值"one"、"two"和"three"分別賦值鍵1、2和3,因為fromkeys()把("one","two","three")當成一個值了。

-------------------------------------------- -------------------------------------------------- ------------

key()、values()和items():

keys()用於傳回字典中的鍵,values()用來傳回字典中所有的值,那麼items()當然就是傳回字典中所有的鍵值對(也就是項),舉個例子:

9_深入淺出解析Python基礎語法

---------------------------------------------------- -------------------------------------------------- ----------

get()、in和not in:

get()方法提供了更寬鬆的方式去存取字典項,當鍵不存在的時候,get()方法並不會報錯,只是默默地回傳了一個None,表示啥都沒找到;如果希望找不到資料時傳回指定的值,那麼可以在第二個參數設定對應的預設回傳值;

9_深入淺出解析Python基礎語法

如果不知道一個鍵是否在字典中,那麼可以使用成員資格運算元(in或not in)來判斷;

--------------------------------------- -------------------------------------------------- -----------------

clear()清空一個指定的字典:

可能有同學會認為使用變數名賦值為一個空字典的方法來清空字典,這樣做有一定的弊端,我們來看個例子;

9_深入淺出解析Python基礎語法

##--------- -------------------------------------------------- --------------------------------------------

copy()方法是複製字典:

9_深入淺出解析Python基礎語法

#--------------- -------------------------------------------------- --------------------------------------

pop()和popitem()方法:

pop()是給定鍵彈出對應的值,而popitem()是彈出一個項,這兩個比較容易:

深入淺出解析Python基礎語法

setdefault()方法和get()方法有點相似,但是setdefault()在字典中找不到對應的鍵時會自動加入:

------------------------------------------------ -------------------------------------------------- -----深入淺出解析Python基礎語法

update()方法用來更新字典:(其實上面也是有方法的,只是這個比較正宗)

深入淺出解析Python基礎語法

#10、集合:

在Python3裡,如果用大括號括起一堆數字但沒有體現映射關係,那麼Python就會認為這堆玩意兒就是個集合。

10_深入淺出解析Python基礎語法

由於集合中的元素是無序的,所以並不能像序列那樣用下標來進行訪問,但可以用迭代把集合中的資料一個個讀出來:(add()和remove()方法)

深入淺出解析Python基礎語法

有些時候希望集合中的資料具有穩定性,也就是說,像元組一樣不能隨意地增加或刪除集合中的元素。那我們可以定義不可變集合,這裡使用的是frozenset()函數,沒錯,就是把元素給frozen(冰凍)起來:

深入淺出解析Python基礎語法

以上是深入淺出解析Python基礎語法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn