#17 random&json模块
程序员文章站
2024-02-04 11:00:58
本篇博文主要记录Python中随机模块random,和json文件格式转换模块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(),这两个用于写入文件,具体使用请查看官方文档
上一篇: 垃圾回收机制
下一篇: 怎么用PHP抓取网站HTML