前言

本节将讲解两个模块,一个是随机模块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(),这两个用于写入文件,具体使用请查看官方文档

最新文章

  1. 安装.NET Framework进度条卡住不动的解决方案
  2. Raytracer
  3. HDU 2014
  4. Android中Activity的四种启动模式
  5. 解决 ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)异常
  6. 十佳AngularJS框架
  7. PHP 解决未定义变量报错
  8. 一站式远程页面调试工具spy-debugger 2.0,已支持HTTPS
  9. js获取当前日期时间同时显示星期
  10. Canvas上绘制几何图形
  11. 012-ViewState状态保持
  12. java线程池的创建使用
  13. ServiceFabric极简文档-0. ServiceFabric简介
  14. C# call webservice方法
  15. java学习笔记11-static关键字
  16. servlet九大内置对象和监听器
  17. java.net.ConnectException: Call From slaver1/192.168.19.128 to slaver1:8020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org
  18. CSS3属性-webkit-font-smoothing字体抗锯齿渲染
  19. 代理ARP--善意的欺骗
  20. 虚方法virtual、抽象方法abstract、接口interface区别

热门文章

  1. Spring Boot学习笔记:整合Shiro
  2. liunx Ubuntu 设置IP、网关、DNS
  3. 【慕课网实战】Spark Streaming实时流处理项目实战笔记二十一之铭文升级版
  4. Dockerfile 构建容器
  5. MongoDB、MySQL
  6. WITH RECOMPILE 和 OPTION(RECOMPILE) 使用上的区别
  7. 2月第3周业务风控关注|上海网信办复测23个被约谈APP 涉及1号店、小红书等
  8. 【算法python实现】 -- 不同路径II
  9. nodejs从http升级到https(阿里云证书的使用)
  10. 仿B站项目——(1)计划,前端工程