Resumen de la entrevista de Python (3)

Tipos de datos básicos

Entero int 
cadena inmutable str 
lista de lista inmutable ordenada, 
tupla variable ordenada, inmutable Diccionario dict: key es el único desordenado,
conjunto de variables desordenado, variable Boolean: bool signo igual único Es una asignación, los dos signos iguales son valores de comparación y es el id de las dos variables comparadas

Operador básico

/ El       resultado retiene la parte fraccionaria, el resultado de la operación normal
 ///      Módulo, solo retiene la parte entera
 % Tome el resto

Tipos variables e inmutables

Variable: lista, conjunto, diccionario 
Inmutable: entero, coma flotante, cadena, tupla 
Tipo de variable: cuando el valor cambia, la identificación no cambia, lo que indica que no puede modificarlo en función del valor original Tipo inmutable de hash
: cuando el valor cambia, la identificación cambia, lo que indica que se puede cambiar un nuevo valor.

1. La diferencia entre listas y tuplas

1 . Similitudes 
objeto de lista recipiente y del tipo de las secuencias ancestrales se, puede almacenar cualquier tipo de datos
 2 . Difiere 
diferencia Además literalmente (soportes y brazos), una lista de tipo de datos variables, las tuplas son inmutables El tipo de datos 
Yuanzu se usa para almacenar datos heterogéneos, es decir, algunos datos no relacionados, como el uso de Yuanzu para registrar la altura, el peso y la edad de una persona. 
Las listas generalmente se usan para almacenar datos isomórficos, es decir, algunos datos que tienen el mismo significado, por ejemplo, son todos tipos de cadenas.

2. Agregar elementos a la lista? ¿El resultado de usar el signo "+" en las dos listas es diferente de agregar?

a = [1,2,3 ] 
b = [4,5,6 ]
 print (a + b)     # [1, 2, 3, 4, 5, 6] 

a.append (b) 
print (a)         # [ 1, 2, 3, [4, 5, 6]] 

Use el signo "+" para abrir cada elemento de la lista, como elemento,

use append para agregar la lista agregada como un elemento al final

3. ¿ Variables globales de Python y variables locales? __name__¿Es local o global, el juicio de las variables locales y globales dentro de la función?

La diferencia entre las variables globales y las variables locales radica en el alcance. Las variables globales se declaran en todo el archivo py y se pueden usar en el alcance global; 
las variables locales se declaran dentro de una función y solo se pueden usar dentro de la función. Externo), recibirá un error
__name__ es una variable incorporada
1. Si agrega global antes de la variable en la función, está claro que la variable es una variable global (global se modifica localmente en datos inmutables globales) 

2. Si una variable en la función tiene el mismo nombre que la variable global, pero la función no Asigne un valor a esta variable, entonces la variable es una variable global 

3. Si una variable en la función tiene el mismo nombre que la variable global, pero la función asigna un valor a la variable, la variable es una variable local 

4. Si la variable en la función no tiene el mismo nombre Variable global, entonces la variable es obviamente una variable local

4. mecanismo de recolección de basura de pitón

1. Recuento de referencias: cuando los datos en la memoria no están vinculados a ningún nombre de variable, se recuperarán automáticamente
 2. Marcar claro: cuando la aplicación está a punto de llenar la memoria, activará automáticamente el borrado
 3. Reciclaje de generación: de acuerdo con el tiempo de supervivencia diferente del valor, se divide en diferentes niveles: cuanto mayor sea el nivel, menor será la probabilidad de escaneo por el mecanismo de recolección de basura.

5. Sobrecarga del operador (en términos simples, es una clase personalizada, reescribiendo el método mágico para implementar el operador)

https://blog.csdn.net/zhangshuaijun123/article/details/82149056

Qué es la sobrecarga de operadores: Permitir que los objetos (instancias) generados por una clase personalizada se operen utilizando operadores 

Sobrecarga de operadores de operadores aritméticos: (principalmente utilizando métodos mágicos para implementar operaciones) 
             Nombres de métodos Operadores y expresiones Descripción 
            __add__ (self, RHS) Auto + RHS víbora
             __sub__ (Ser, RHS) Auto - RHS resta
             __mul__ (Ser, RHS) * Auto RHS multiplicación
             __truediv__ (Ser, RHS) Auto / RHS división
             __floordiv__ (Ser, RHS) // Auto RHS baja, excepto
             __mod__ ( self, rhs) self% rhs módulo (resto)
             __pow__ (self, rhs) self ** funcionamiento de potencia de rhs

Ejemplos

clase Mynumber:
     def  __init__ (self, v): 
        self.data = v 

    def  __add__ (self, other):    # other es un objeto 
        x = self.data + other.data
         return x 

    def  __sub__ (self, other): 
        x = self .data- other.data
         return x 

n1 = Mynumber (100 ) 
n2 = Mynumber (200 ) 
n3 = n1 + n2   # n3 = n1 .__ add __ (n2) Plus sign trigger __add__Magic method 
print (n3)   # 300 
n4 = n2-n1    #n4 = n2 .__ sub __ (n1) Disparadores de signos menos __sub__ método mágico 
print (n4)    # 100

6. Consulta F y consulta Q en Django ORM

Consulta F: la esencia es obtener el valor de un campo directamente de la base de datos

Consultar base de datos para libros que son más grandes que los vendidos

from django.db.models import F 

res = models.Book.objects.filter (kucun__gt = F ( ' maichu ' )) # kucun y maichu son ambos campos de la tabla Libro

Aumentar los precios de los libros en 10

model.Book.objects.update (price = F ( ' price ' ) +10) # Todos los precios de los libros aumentan en 10

(Tenga en cuenta que el campo del tipo de caracteres modificado no puede seguir el método anterior, debe usar Concat, más el valor de empalme)

from django.db.models.functions import Concat
 from django.db.models import Value 

ret3 = models.Book.objects.update (title = Concat (F ( ' title ' ), Value ( ' 新款' ))) 
models.Book .objects.update (title = F ( ' title ' ) + ' 新款' )   # 不能 这么 写

Consulta Q (las condiciones de consulta del filtro son AND, Q admite NOR)

Compruebe si el nombre del libro es Romance de los Tres Reinos o si el precio es 444

from django.db.models import Q 
res = models.Book.objects.filter (title = ' Three Kingdoms ' , price = 444.44)   # filter solo admite y relación 
res1 = models.Book.objects.filter (Q (title = ' tres Reinos '), Q (precio = 444))   # Si se utiliza una coma o relación y 
RES2 = models.Book.objects.filter (Q (título = ' tres Reinos ' ). | Q (precio = 444))    # o relación 
= models.Book.objects.filter res3 (~ Q (title = ' Tres Reinos ' ). | Q (precio = 444))   # título de la consulta es, además de los tres reinos, o el precio de un libro 444

7. Manejo de excepciones: intente ... excepto ... más ..., intente ... finalmente ... el proceso de ejecución

Cuando el bloque de código en el intento no detecta una excepción, irá al código else, finalmente, si eventualmente habrá un error o no.

Tipos de error comunes 
NAMERROR Error de nombre SyntaxError Error de 
sintaxis 
KeyError Key no existe 
ValueError Error de valor 
IndexError Error de índice
el try : 
   necesidad de comprobar el código para 
la excepción Excepción:   # anomalías todos los tipos de excepción son capturados universal 
    de impresión ( ' I invencible ' )
 else :
     Imprimir ( ' se detecta código sin ninguna excepción irá la cosa ' )
 un fin :
     Imprimir ( ' No importa si el código detectado tiene una excepción o no, se ejecutará después de que se complete el código ' ))

8. Operación de archivos bajo Linux:

Vea las últimas 50 líneas del archivo: 
cola -n 50 nombre de archivo    

comandos de operación vim: 
tres modos comunes
 1. Modo normal (este modo es la primera vez que abre el documento)
 2. Modo de edición (presione i, o, a y otras teclas, cambiará del modo normal Para editar el modo, puede escribir en el documento)
 3. Modo de línea de comando (presione la tecla ESC en el modo de edición para ingresar al modo normal, ingrese: q para salir ,: wq para guardar y salir, y: q! Para forzar la salida)

9. Código de demostración

1. Print False print (bool (0))
 print (bool ( '' )) en 

Python
 2. Enumere el resultado de la operación 
[ 1,2] * 2          # [1, 2, 1, 2]
 
3. == y es La diferencia
 == es el tamaño del valor de comparación 
es la comparación de si el valor de id es consistente

 4. Problema de referencia de asignación variable 
a = 2 
b = a 
a + = 2
 print (a, b)      # 4, 2
 
5. Parámetros de paso de función, descompresión
 def func (a, b, c = 3, d = 4 ):
     print (a, b, c, d) 

func ( 3, * (3, 4))             # 3,3,4,4
func (3, * (3, 4), d = 7)    # 3,3`` 4,7

Parámetro de la función

1. Parámetro de posición: parámetro real de posición, parámetro formal de posición 2. Parámetro de
 palabra clave: asigne el valor al nombre de la variable en la etapa de llamada a la función 3. Parámetro de valor predeterminado: asigne el valor al nombre de la variable
 durante la etapa de definición de la función
 4. Parámetro de longitud indefinida: * Y ** Desde 
la perspectiva de los parámetros formales *   : Reciba parámetros reales de posición redundantes, colóquelos en tuplas de manera uniforme y luego páselos a los nombres de las variables detrás. Desde 
la perspectiva de los parámetros reales *   : 
vea tuplas, listas y cadenas Espere a que se dispersen los datos y luego páselos a los parámetros formales uno por uno 
. Desde la perspectiva de los parámetros formales **   : reciba los parámetros de palabras clave redundantes, colóquelos en el diccionario y luego páselos a los nombres de las variables detrás. Desde 
la perspectiva de los parámetros reales * *: Divida los datos del diccionario en forma clave = valor, y luego páselos al parámetro formal

 

Supongo que te gusta

Origin www.cnblogs.com/wangcuican/p/12697954.html
Recomendado
Clasificación