Módulos aleatorios y json de Python

1. El módulo aleatorio

El módulo aleatorio de Python se utiliza principalmente para generar números aleatorios. Este módulo implementa generadores de números pseudoaleatorios para varias distribuciones. Por ejemplo: generación aleatoria de códigos de verificación, etc.

El módulo aleatorio pertenece a la biblioteca estándar y se puede utilizar sin instalación.

import random

# 查看 random 模块中的内容
print(dir(random))

1. función aleatoria()

random() : Devuelve un número real generado aleatoriamente en el intervalo semiabierto [0,1), incluido el 0 pero sin el 1.

import random

num1 = random.random()  # 0.2739237072907895
print(num1)
print(random.random())  # 0.8903373291990494

2. función semilla()

Cuando llamamos a random.random() para generar números aleatorios, cada número generado es aleatorio.

Cuando preconfiguramos la semilla con random.seed(x), x puede ser cualquier número, como 10.

Entonces, el número aleatorio generado al llamar a random() será el mismo.

import random

random.seed()
print("使用默认种子生成随机数:", random.random())
print("使用默认种子生成随机数:", random.random())

random.seed(10)
print("使用整数 10 种子生成随机数:", random.random())
random.seed(10)
print("使用整数 10 种子生成随机数:", random.random())

random.seed("hello", 2)
print("使用字符串种子生成随机数:", random.random())

inserte la descripción de la imagen aquí

3. La función randrange()

randrange(): devuelve un número aleatorio dentro del rango especificado. La sintaxis básica es la siguiente:
random.randrange(start, stop, step)

parámetro:

  • inicio: opcional, un número entero que especifica el valor inicial; el valor predeterminado es 0.
  • stop: requerido, un número entero que especifica el valor final.
  • paso: opcional, un número entero que especifica el tamaño del paso, el valor predeterminado es 1.
import random

# 随机返回一个 1 到 10 之间的一个奇数
num = random.randrange(1, 9, 2)
print(num) # 5

4. método aleatorio()

randint(): el método devuelve un número entero dentro del rango especificado.
randint(inicio, parada) es equivalente a randrange(inicio, parada+1).

import random

print(random.randint(1, 9))

5, método uniforme()

uniform(a,b): devuelve un número de punto flotante aleatorio entre a y b, si a<=b, el rango es [a,b], si a>=b, entonces el rango es [b,a], a y b pueden ser números reales.

import random

print(random.uniform(10, 20))  # 13.00577371222787

Dos, módulo json

El módulo Python json principalmente codifica y decodifica datos JSON.

El módulo json es relativamente simple de usar, con solo cuatro métodos dump(), load(), dumps() y loads().

  • dumps(): codifica los datos. Convierta un objeto python en un objeto json y genere una cadena.
  • loads(): Decodifica los datos. Decodifica una cadena json en un objeto python.
  • dump(): codifica los datos. Convierta objetos python en objetos json, genere una secuencia de archivos fp y relacionados con archivos.
  • load(): Decodifica los datos. Decodifica un archivo json en un objeto python.

注意:La diferencia entre agregar s y no agregar s en el método, agregar s es para la cadena json y no agregar s es para el archivo json.

1. Tabla de comparación de conversión de tipo

Durante el proceso de codificación y decodificación de json, el tipo original de Python y el tipo json se convertirán entre sí. La comparación de conversión específica es la siguiente:

(1) Tabla de correspondencia de conversión de codificación de Python a tipo JSON:

inserte la descripción de la imagen aquí

(2) Tabla de correspondencia de conversión de decodificación JSON a tipo Python:

inserte la descripción de la imagen aquí

2. Conversión de cadenas

import json

# 1. 将 Python 字典类型转换为 JSON 对象
data_dict = {
    
    "key2": "value2", "key1": 18, "key3": "http://www.baidu.com"}

# 默认转换的json数据是无序的。如果将参数sort_keys改为True, 则会根据key值将数据进行排序。
json_str1 = json.dumps(data_dict)
json_str2 = json.dumps(data_dict, sort_keys=True)

print("Python 原始数据:", repr(data_dict))
print("JSON 对象1:", json_str1)
print("JSON 对象2:", json_str2)

print("--------------------")

# 2. 将 JSON 对象转换为 Python 字典
data2 = json.loads(json_str1)

print("Python 数据2:", repr(data2))
print("data2['key1']: ", data2['key1'])
print("data2['key3']: ", data2['key3'])

inserte la descripción de la imagen aquí

3. Conversión de flujo de archivos

import json

data = {
    
    "key2": "value2", "key1": 18, "key3": "http://www.baidu.com"}

# 1.序列化:将 Java 对象转换成字节流,即写入 JSON数据
with open('demo3.json', 'wt') as f:
    json.dump(data, f)

# 2.反序列化:将字节流转换成 Java 对象,即读取文件数据
with open('demo3.json', 'rt') as f:
    data = json.load(f)
    print(data, type(data)) 
    # {'key2': 'value2', 'key1': 18, 'key3': 'http://www.baidu.com'} <class 'dict'>

– Si tienes hambre de conocimiento, sé humilde si eres tonto.

Supongo que te gusta

Origin blog.csdn.net/qq_42402854/article/details/129160916
Recomendado
Clasificación