Algunos módulos populares
1 、 sys
El módulo sys le permite acceder a variables y funciones estrechamente relacionadas con el intérprete de Python.
Función / variable | Descripción |
---|---|
argv | Parámetros de la línea de comandos, incluido el nombre del script |
salir ([arg]) | Salga del programa actual, puede especificar el valor de retorno o el mensaje de error a través de parámetros opcionales |
módulos | Un diccionario que asigna nombres de módulos a módulos cargados |
camino | Una lista que contiene el nombre del directorio en el que se encuentra el módulo. |
plataforma | Un identificador de plataforma, como sunos5 o win32 |
stdin | Flujo de entrada estándar: un objeto similar a un archivo |
stdout | Flujo de salida estándar: un objeto similar a un archivo |
stderr | Secuencia de error estándar: un objeto similar a un archivo |
[root@li python]# vim reverseargs.py
[root@li python]# cat reverseargs.py
import sys
args = sys.argv[1:]
args.reverse()
print(' '.join(args))
[root@li python]# python3 reverseargs.py this is a test
test a is this
2
El módulo os permite acceder a múltiples servicios del sistema operativo.
Función / variable | Descripción |
---|---|
alrededor de | Contiene un mapa de variables de entorno. |
sistema (comando) | Ejecutar comandos del sistema operativo en una subshell |
sep | Separador utilizado en el camino |
pathsep | Separador para separar diferentes caminos |
lineasep | Separador de línea ('\ n', '\ r' o '\ r \ n') |
urandom (n) | Devuelve n bytes de datos aleatorios fuertemente cifrados |
3 、 entrada de archivo
El módulo fileinput le permite iterar fácilmente sobre todas las líneas en una serie de archivos de texto.
Función / variable | Descripción |
---|---|
entrada ([archivos [, en lugar [, copia de seguridad]]]) | Ayude a iterar sobre filas en múltiples flujos de entrada |
nombre del archivo() | Devuelve el nombre del archivo actual |
lineno () | Devolver (acumulativo) el número de línea actual |
filelineno () | Devuelve el número de línea en el archivo actual |
isfirstline () | Verifique si la línea actual es la primera línea del archivo |
isstdin () | Compruebe si la última línea proviene de sys.stdin |
nextfile () | Cerrar el archivo actual y pasar al siguiente archivo |
cerca() | Cerrar secuencia |
4. Conjuntos, montones y deques
4.1, colección
La colección es implementada por el conjunto de clases incorporado. Esto significa que puede crear colecciones directamente sin importar clases:
>>> set(range(10))
{
0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Puede usar secuencias (u otros objetos iterables) para crear colecciones, o puede usar llaves para especificarlas explícitamente. Tenga en cuenta que no puede usar llaves para crear un conjunto vacío, ya que esto creará un diccionario.
>>> type({
})
<class 'dict'>
La colección se utiliza principalmente para la verificación de miembros, por lo que se ignorarán los elementos duplicados :
>>> {
0,0,1,2,1,4,5,5,5,4}
{
0, 1, 2, 4, 5}
Como un diccionario, el orden de los elementos de una colección es diferente .
Además de las comprobaciones de membresía, se pueden realizar varias operaciones de conjunto estándar, como unión e intersección:
>>> a = {
1,2,3}
>>> b = {
2,3,4}
>>> a.union(b)
{
1, 2, 3, 4}
>>> a | b
{
1, 2, 3, 4}
Hay otros métodos y operadores:
>>> c = a & b
>>> c.issubset(a)
True
>>> c <= a
True
>>> c.issuperset(a)
False
>>> c >= a
False
>>> a.intersection(b)
{
2, 3}
>>> a & b
{
2, 3}
>>> a.difference(b)
{
1}
>>> a - b
{
1}
>>> a ^ b
{
1, 4}
>>> a.copy()
{
1, 2, 3}
>>> a.copy() is a
False
Los conjuntos son mutables, por lo que no se pueden utilizar como claves de diccionario . Otro problema es que las colecciones solo pueden contener valores inmutables, por lo que no pueden contener otras colecciones .
>>> a = set()
>>> b = set()
>>> a.add(b)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'set'
El constructor forzenset crea una copia del conjunto dado. Útil cuando necesita usar una colección como miembro de otra colección o como clave en un diccionario.
4.2, montón
Es una cola de prioridad que le permite agregar objetos en cualquier orden y encontrar (y eliminar) el elemento más pequeño en cualquier momento . El módulo se llama heapq.
Función / variable | Descripción |
---|---|
heappush (montón, x) | Empuja x en el montón |
heappop (montón) | Saca el elemento más pequeño del montón |
heapify (montón) | Deje que la lista tenga características de montón |
heapreolace (montón, x) | Pop el elemento más pequeño y empuja x en el montón |
más grande (n viaje) | Devuelve los n elementos más grandes en iter |
más pequeño (n, iter) | Devuelve los n elementos más pequeños en iter |
>>> from heapq import *
>>> from random import shuffle
>>> data = list(range(10))
>>> shuffle(data)
>>> heap = []
>>> for n in data:
... heappush(heap,n)
...
>>> heap
[0, 1, 6, 2, 4, 7, 9, 8, 3, 5]
>>> heappush(heap,0.5)
>>> heap
[0, 0.5, 6, 2, 1, 7, 9, 8, 3, 5, 4]
Es el gran montón en la estructura de datos, es decir, todavía hay un cierto orden de disposición.
>>> heappop(heap)
0
>>> heappop(heap)
0.5
>>> heappop(heap)
1
>>> heap
[2, 3, 6, 5, 4, 7, 9, 8]
>>> heap = [5,8,0,3,6,7,9,1,4,2]
>>> heapify(heap) #就是调整堆的过程
>>> heap
[0, 1, 5, 3, 2, 7, 9, 8, 4, 6]
4.3, deque
El deque es útil cuando necesita eliminar los elementos en el orden en que se agregaron .
>>> from collections import deque
>>> q = deque(range(5))
>>> q.append(5)
>>> q.appendleft(6)
>>> q
deque([6, 0, 1, 2, 3, 4, 5])
>>> q.pop()
5
>>> q.popleft()
6
>>> q.rotate(3)
>>> q
deque([2, 3, 4, 0, 1])
>>> q.rotate(-1)
>>> q
deque([3, 4, 0, 1, 2])
5 、 tiempo
Módulo de hora configurado para obtener una hora actual, una hora y fecha de operación, leyendo la hora de la cadena, la fecha formateada a un formato de cadena .
Campos en la tupla de fechas de Python | ||
---|---|---|
índice | Campo | valor |
0 | año | |
1 | mes | 1 ~ 12 |
2 | día | 0 ~ 31 |
3 | Hora | 0 ~ 23 |
4 | Minuto | 0 ~ 59 |
5 | segundo | 0 ~ 61 |
6 | semana | 0 ~ 6, donde 0 representa el lunes |
7 | Día confidencial | 1 ~ 366 |
8 | Hora de verano | 0, 1 o -1 |
Función / variable | Descripción |
---|---|
asctime ([tupla]) | Convertir tupla de tiempo en cadena |
hora local ([segundos]) | Convertir segundos a tupla de fecha y hora local |
mktime (tupla) | Convertir tupla de tiempo a hora local |
dormir (segundos) | Dormir (no hacer nada) segundos segundos |
strptime(string[,format]) | 将字符串转换为时间元组 |
time() | 当前时间(从新纪元开始后的秒数) |
>>> import time
>>> time.time()
1596703340.4325356
>>> time.asctime()
'Thu Aug 6 16:42:39 2020'
6、random
模块 random 包含生成伪随机数的函数。
函数 | 说明 |
---|---|
random() | 返回一个 0~1(含)的随机数 |
getrandbits(n) | 以长整数方式返回 n 个随机地二进制数 |
uniform(a,b) | 返回一个 a~b(含)的随机实数 |
randrange([start],stop,[step]) | 从 range(start,stop,step) 中随机地选择一个数 |
choice(seq) | 从序列 seq 中随机地选择一个元素 |
shuffle(seq[,random]) | 就地打乱序列 seq |
sample(seq,n) | 从序列 seq 中随机地选择 n 个值不同的元素 |