前言
本节将讲解两个模块, 一个是随机模块 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(), 这两个用于写入文件, 具体使用请查看官方文档
来源: https://www.cnblogs.com/minutesheep/p/10354623.html