variable:
1. La variable con _ antes de ella: indica que es una variable privada, que solo se usa para indicar que la clase externa aún puede acceder a esta variable
2. Variables con dos _ antes y dos _ al final: indican que son variables integradas,
3. Variables subrayadas y en mayúscula: indique las variables globales que no cambiarán
función:
1. Variables con _ antes: indican que es una función privada, que solo se usa para indicar,
2. Funciones con dos _ antes y dos _ al final: indican funciones especiales
El estilo de codificación de Python está descrito por PEP 8. Este documento describe todos los aspectos del estilo de programación Python. Bajo la condición de cumplir con este documento, el código Python escrito por diferentes programadores puede mantener estilos similares en la mayor medida posible. Esto facilita la lectura y la comunicación entre programadores.
1 variable
Constantes: mayúsculas y subrayado
USER_CONSTANT
Para las variables globales que no cambiarán, use mayúsculas y guiones bajos.
Variables privadas: minúsculas y un guión bajo inicial
_private_value
No hay variables privadas en Python. Si encuentra una variable que necesita ser protegida, use minúsculas y un guión bajo al principio. Pero esto es solo un acuerdo entre programadores para advertir que esta es una variable privada, y las clases externas no deben acceder a ella. Pero, de hecho, la clase externa aún puede acceder a esta variable.
Variables integradas: minúsculas, dos guiones bajos iniciales y dos guiones bajos finales
__class__
Dos guiones bajos iniciales harán que se cambie el nombre de la variable durante la interpretación. Esto es para evitar conflictos entre las variables integradas y otras variables. Las variables definidas por el usuario deben evitar estrictamente este estilo. Para no causar confusión.
2 Funciones y métodos
En general, se deben usar minúsculas y guiones bajos. Pero algunas bibliotecas más antiguas usan mayúsculas y minúsculas, es decir, la primera palabra está en minúsculas, la primera letra de cada palabra después de eso está en mayúsculas y el resto en minúsculas. Pero ahora, las minúsculas y el subrayado se han convertido en la norma.
Método privado: minúsculas y un guión bajo inicial
def _secrete(self):
print "don't test me."
Esto es lo mismo que las variables privadas, no los derechos de acceso realmente privados. Al mismo tiempo, debe tenerse en cuenta que las funciones generales no usan dos guiones bajos iniciales (cuando se encuentran dos guiones bajos iniciales, la función de adaptación del nombre de Python jugará un papel). Las funciones especiales se mencionarán más adelante.
Método especial: minúsculas y dos guiones bajos iniciales, dos guiones bajos finales
def __add__(self, other):
return int.__add__(other)
Este estilo solo se aplica a funciones especiales, como la sobrecarga del operador.
Parámetros de función: minúsculas y subrayado, el valor predeterminado no tiene espacios en ambos lados del signo igual
def connect(self, user=None):
self._user = user
Clase 3
Las clases siempre se nombran en formato camel, es decir, todas las palabras están en mayúscula y las letras restantes en minúsculas. El nombre de la clase debe ser conciso, preciso y suficiente para comprender el trabajo realizado por la clase. Un método común es usar un sufijo que indique su tipo o características, por ejemplo:
SQLEngine
MimeTypes
Para la clase base, puede usar un prefijo base o abstracto
BaseCookie
AbstractGroup
class UserProfile(object):
def __init__(self, profile):
return self._profile = profile
def profile(self):
return self._profile
4 módulos y paquetes
Excepto por el módulo especial __init__, todos los nombres de módulo usan letras minúsculas sin guiones bajos.
Si implementan un protocolo, generalmente usan lib como sufijo, por ejemplo:
import smtplib
import os
import sys
5 Acerca de los parámetros
5.1 No use aserciones para implementar la verificación de tipos estáticos
Las afirmaciones se pueden utilizar para verificar parámetros, pero no solo para la verificación de tipos estáticos. Python es un lenguaje escrito dinámicamente y la verificación de tipos estáticos viola su filosofía de diseño. Las afirmaciones deben usarse para evitar que las funciones se llamen sin sentido.
5.2 No abuse de * args y ** kwargs
Los parámetros * args y ** kwargs pueden destruir la solidez de la función. Ocultan la firma y el código a menudo comienza a construir pequeños analizadores de parámetros donde no debería.
6 otros
6.1 Utilice tiene o es prefijo para nombrar elementos booleanos
is_connect = True
has_member = False
6.2 Nombrar secuencias con formas plurales
members = ['user_1', 'user_2']
6.3 Nombrar diccionarios con nombres explícitos
person_address = {'user_1':'10 road WD', 'user_2' : '20 street huafu'}
6.4 Evite los nombres genéricos
Deben evitarse nombres como lista, diccionario, secuencia o elemento.
6.5 Evite los nombres existentes
Deben evitarse los nombres de sistema como os, sys que ya existen.