#17 random&json模組
前言
本節將講解兩個模組,一個是隨機模組random,一個是字串和字典之間的轉換模組json,這兩個模組使用率還是很高的,來認識一下!
一、random模組
random的官方文件:https://docs.python.org/3.5/library/random.html
這裡只記錄常用的方法:
In [3]: import random# 匯入random模組 In [4]: random.random()# 隨機生成0到1之間的浮點數,注意:包括0和1 Out[4]: 0.8952565343053827 In [5]: random.random()# 再生成一個 Out[5]: 0.6822327896680234
In [12]: import random In [13]: random.randint(1,10)# 隨機生成一個1到10之間的整數,包括1和10 Out[13]: 5 In [14]: random.randint(1,10)# 再生成一個 Out[14]: 2
In [15]: import random In [17]: random.uniform(1.1,9.9)# 隨機生成一個1.1到9.9之間的浮點數,區間可以是浮點數 Out[17]: 8.136851906531758 In [18]: random.uniform(1.1,9.9)# 再生成一個 Out[18]: 8.24769737404256
In [19]: import random In [20]: random.choice('I am MinuteSheep')# 隨機從字串裡面取出一個字元 Out[20]: 'u' In [22]: random.choice('I am MinuteSheep')# 再取一個 Out[22]: 'I' In [25]: random.choice('I am MinuteSheep')# 空格也算一個字元哦 Out[25]: ' ' In [26]: random.choice([1,2,4,6,9])# 列表也行,字典不行 Out[26]: 2
In [28]: import random In [29]: random.randrange(1,15)# 隨機生成一個1到15的整數,和randint()相同 Out[29]: 12 In [32]: random.randrange(1,15,2)# 隨機生成一個1到15且間距為2的整數,相當於從[1,3,5,7,9,11,13,15]裡面隨機取出一個 Out[32]: 11 In [33]: random.randrange(1,15,2) Out[33]: 3 In [34]: random.randrange(1,15,2) Out[34]: 9 In [35]: random.randrange(1,15,2) Out[35]: 1
In [39]: import random In [40]: num = [1,2,3,4,5,6,7] In [41]: random.shuffle(num)# 將列表裡面的元素隨機打亂 In [42]: num Out[42]: [3, 7, 5, 1, 2, 6, 4] In [43]: random.shuffle(num)# 再打亂一次 In [44]: num Out[44]: [1, 6, 4, 3, 5, 2, 7]
二、json模組
json官方文件:https://docs.python.org/3.5/library/json.html
大家可能知道一些常見的檔案格式,比如:txt、pdf、exe、word、ppt、excel
、zip等等,在程式設計師這裡,通常資料儲存為json格式,尤其是作前端的程式設計師,json實質上是類似字典的字串,比如:
'{"name":"MinuteSheep", "age":100, "gender": "male"}'
乍一看,是個字典;再一看,是個字串!
如果想要提取出這段字串的‘name’資訊,想要對其進行字典的操作顯然是不可能的,這時候就要用到json模組了:
In [60]: import json# 匯入json模組 In [61]: info = '{"name":"MinuteSheep", "age":100, "gender": "male"}'# 這是一個字串 In [62]: type(info)# 檢視其型別,確認是字串 Out[62]: str In [63]: info_dict = json.loads(info)# 使用json.loads(str)將其轉換為字典 In [64]: info_dict# 可以看到這是一個字典 Out[64]: {'age': 100, 'gender': 'male', 'name': 'MinuteSheep'} In [65]: info_dict['name']# 可以對其進行字典的操作 Out[65]: 'MinuteSheep' # 特別注意:只適用於'{"key":"value"}'的字串,不適用於"{'key':'value'}"的字串
同樣,對於字典,也可以將其轉換為字串形式:
In [68]: import json In [69]: info = {'age': 100, 'gender': 'male', 'name': 'MinuteSheep'}# 初始化一個字典用作示例 In [70]: type(info)# 確認這是個字典 Out[70]: dict In [71]: json.dumps(info)# 使用json.dumps(dict)將其轉換為字串 Out[71]: '{"age": 100, "gender": "male", "name": "MinuteSheep"}' # 注意:這個方法適用於{"key":"value"}、{'key':'value'}、{'key':"value"}、{"key":'value'}的字典
json最常用的方法就是這兩個,還有兩個用的不多的方法:json.load(),json.dump(),這兩個用於寫入檔案,具體使用請檢視官方文件