Sé que hay una función llamada id, así que no crearía una función o una variable llamada id, pero ¿qué pasa con un atributo en un objeto?En Python ¿es malo crear un atributo llamado 'id'?
Respuesta
Eso está bien, y es bastante común. Por ejemplo, los objetos asignados a un registro de la base de datos a menudo tendrán un atributo "id" asignado al valor de la columna "id" de la base de datos.
Los atributos son siempre "espacios de nombre", por lo que debe consultarlos a través de self.id
o obj.id
para que no haya conflicto con la función incorporada.
Lo hago con frecuencia para clases que abstraen tablas de bases de datos donde a menudo hay un campo llamado id
porque no hay posibilidades razonables de que un nombre entre en conflicto. Tenga en cuenta que algunos resaltadores synatax lo marcarán como una función integrada.
+1 simplemente porque me gustas. – Odomontois
@Odomontois. Gracias por llamar mi atención a esta publicación. Limpié mi gramática – aaronasterling
, aunque no mi ortografía al parecer – aaronasterling
Como han dicho otros, está perfectamente bien tener un atributo de identificación, aunque muchos consideran una mala práctica para el diseño de la base de datos. Pero esa es otra pregunta.
Si te importan las convenciones en general, deberías echarle un vistazo a la pila. Esta herramienta analiza su código para detectar errores y también problemas de convención.
- 1. ¿Cómo se usa FactoryGirl para crear un atributo llamado "alias"?
- 2. ¿Por qué es malo tener múltiples elementos HTML con el mismo atributo de id?
- 3. Cómo declarar un ID de atributo en XML
- 4. ¿Crear y eliminar muchas ramas en git es malo?
- 5. MySQL MAX (id) llamado desde PHP produce un valor extraño
- 6. El atributo llamado 'descripción' causa bloqueo
- 7. ¿Por qué es malo?
- 8. ¿Es posible crear objetos anónimos en Python?
- 9. ¿Por qué es "import *" malo?
- 10. Cómo crear un atributo personalizado en C#
- 11. Controlador MongoDB C# - ¿Puede un campo llamado Id no ser Id?
- 12. jQuery: ocuparse de un espacio en el atributo de id
- 13. ¿Cuándo es un índice (en un DBMS) un índice malo?
- 14. ¿Cómo eliminar un atributo id de un div usando jQuery?
- 15. ¿Cómo puedo crear un alias para un atributo miembro no funcional en una clase Python?
- 16. llamado id a cero en los carriles 3
- 17. ImportError: Ningún módulo llamado ***** en python
- 18. ¿Cuál es la mejor manera de crear un atributo de clase en Moose?
- 19. ¿Es malo usar toList?
- 20. llamado String.Format, ¿es posible?
- 21. Python: ¿Ningún módulo llamado contextlib?
- 22. XPath para obtener otro atributo por id. Atributo
- 23. Objeto Python Mock con un método llamado varias veces
- 24. atributo de clase python
- 25. ¿Es IDisposable.Dispose() llamado automáticamente?
- 26. ¿Seleccionar todos los elementos que no tienen un atributo "id"?
- 27. ¿El uso excesivo de DataTable es malo?
- 28. se establece el atributo id con knockoutjs incluyendo un prefijo
- 29. Python MySQLdb: Los parámetros de consulta como un diccionario llamado
- 30. R: crear un vector llamado a partir de variables
Los ID reales del objeto normalmente no están expuestos como propiedades. Pruebe "dir (SomeCustomInstanceOfSomething)" y NO verá la propiedad "id" allí a menos que se declare específicamente como parte de su clase/objeto personalizado. "id (SomeCustomInstanceOfSomething)" no se vería afectado si haces cosas como "myObject.id = 1234" – ddotsenko
Me haces sentir mejor al respecto. Aquí vamos. – Ben