- 本教程為python3文檔解讀
- 本教程面向完全型小白,只要你會在電腦上打字,那你就可以看懂。
- 參考視頻觀看,味道更加:https://space.bilibili.com/186584185/#!/video
- 建議優先閱讀本系列的《編程的本質》這一章節。
貫穿始終的理念:別廢話,就是干!
往期回顧:
- 操作符%、//、**都是什么意思?
- 什么是數據類型
- 兩數相除,結果是什么數據類型。
- 轉義字符
- 分片
- 索引
文檔解讀
python3文檔第三小節鏈接地址:3. An Informal Introduction to Python
本章主要講解3.1.3. Lists(列表)這個小節
3.1.3. Lists(列表)
鑒于我們在之前的章節已經講解列表了(用大樓舉的例子),所以,這次,我們直接來看下面的代碼吧~
>>> squares = [1, 4, 9, 16, 25] #賦值操作
>>> squares #打印變量的值
[1, 4, 9, 16, 25]
>>> squares[0] #索引操作,還記得上一期的內容嗎,我們說,字符串是特殊的列表
1
>>> squares[-1] #負數下標,還記得下標是什么嗎?
25
>>> squares[-3:] # 分片操作
[9, 16, 25]
還記得分片基本要素嗎?
- 方括號下標
- 分號
- 范圍(左取右舍,可以為空。)
思考題:兩個范圍都為空時,切片取值是什么?
>>> squares = [1, 4, 9, 16, 25]
>>> squares[ : ]
自己輸入試試看~
還記得字符串里,加號+和乘號 * 的作用嗎?
在列表中,他們也有相同的作用,不廢話,直接上代碼:
>>> squares = [1, 4, 9, 16, 25]
>>> squares + [36, 49, 64, 81, 100]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
自己動手試試下面的代碼,看看和你預計的結果一樣嗎?
>>> a = [123,987]
>>> a * 3
以上內容,和我們上一期講解的字符串基本上沒有區別。但下面的內容就要注意了。
還記得我們說字符串是特殊的列表,它特殊在哪里嗎?
段落截取(一)
Unlike strings, which are immutable, lists are a mutable type,i.e. it is possible to change their content
名詞解釋
- immutable
不可改變的 - mutable
可變的 - i.e.
這是英語中一種常見的縮寫形式,相當于 that is
中文翻譯為:也就是
段落大意
字符串值不可改變,列表值可變。
我們還是直接來看代碼:
>>> a = [1, 8, 27, 65, 125]
>>> a[3] = 64 # 將3號值改為64。注意:序號是從0開始的。
>>> a
[1, 8, 27, 64, 125]
思考題:
既然列表值是可變的,那么能不能一次變換多個值?
提示:參考分片
自己先嘗試在解釋器里寫一下,之后在看下面的答案。
答案:
>>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> letters[2:5] = ['C', 'D', 'E']
>>> letters
['a', 'b', 'C', 'D', 'E', 'f', 'g']
>>> #思考:如何刪除改變的值?
>>> letters[2:5] = []
>>> letters
['a', 'b', 'f', 'g']
>>> # 思考:如何刪除全部值?
>>> letters[:] = []
>>> letters
[]
本期拓展
在python語言中,有一句話叫:一切皆對象。
要理解這句話,你首先要理解什么是對象。
對象,可以看成是一種特殊的數據類型,這種數據類型是由多種東西組成的。其中包括變量、包括函數。
如何理解呢?比如列表就是一個對象,列表里可以包含多個值。
比如:
>>> a = [123, 'b', '432', [234, 432] ]
>>> c = [234, a]
但是,你不知道的是,列表里也包含函數。只不過它沒有顯示出來而已。
比如:append()函數。我們可以通過“點”來調用列表的函數。
(append()函數的作用是在列表末尾加上其他值。組成全新的列表。)
>>> cubes = [1, 8, 27, 64, 125]
>>> cubes.append(216) # 在末尾加上216
>>> cubes.append(7 ** 3) # 在末尾加上7的3次方
>>> cubes
[1, 8, 27, 64, 125, 216, 343]
通過這個例子,能理解對象這個特殊類型了嗎?
我們一般把對象里的變量叫做屬性,把對象里的函數叫做方法。
具體內容,我們等到講對象時,在具體介紹。
本期依舊省略了很多內容,比如列表的方法,列表里面再裝列表等。
想提高的同學,可以試著自己解讀。