#17 random&json模塊

前言

本節將講解兩個模塊,一個是隨機模塊random,一個是字符串和字典之間的轉換模塊json,這兩個模塊使用率仍是很高的,來認識一下!html

1、random模塊

random的官方文檔:https://docs.python.org/3.5/library/random.html前端

這裏只記錄經常使用的方法:python

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]

2、json模塊

json官方文檔:https://docs.python.org/3.5/library/json.html程序員

你們可能知道一些常見的文件格式,好比:txt、pdf、exe、word、ppt、exceljson

、zip等等,在程序員這裏,一般數據保存爲json格式,尤爲是做前端的程序員,json實質上是相似字典的字符串,好比:dom

'{"name":"MinuteSheep", "age":100, "gender": "male"}'

乍一看,是個字典;再一看,是個字符串!spa

若是想要提取出這段字符串的‘name’信息,想要對其進行字典的操做顯然是不可能的,這時候就要用到json模塊了:excel

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'}"的字符串

一樣,對於字典,也能夠將其轉換爲字符串形式:code

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(),這兩個用於寫入文件,具體使用請查看官方文檔orm

相關文章
相關標籤/搜索