¿Necesito aprender sobre objetos o puedo ahorrar tiempo y simplemente aprender diccionarios?

OK para ser corto =)

Soy noob si -.- pero estoy convencido de que no necesito aprender todo … y que un campo específico de conocimiento adecuado para mi proyecto puede ahorrarme tiempo … Voy a construir un juego que he diseñado pero no he empezado a construir. Voy a aprender todo lo que necesito para terminar mi proyecto.

sin embargo para ahorrar tiempo …

Estoy usando python, el juego solo necesita hacer referencia a ubicaciones en una cuadrícula con valores: por lo tanto, un cuadrado verde ‘pine tree’ = * información * valores = tipo de árbol / dureza del árbol / vida del árbol ect …

Tal vez me equivoque en el supuesto de que no hay objetos necesarios? Debería concentrarme todo mi tiempo en aprender a usar la función del diccionario. ¿Cuál es la encoding más eficiente para un juego de fichas basado en cuadrícula que simula el cambio por turno?

Así que eso; un cuadrado azul se extiende según los conjuntos de reglas y de acuerdo con las casillas adyacentes al final de un turno. ¿Y estas fichas tienen valores adjuntos …? incluso solo el nombre de la mejor técnica posible … puedo aprender cómo hacerlo una vez que sé lo que necesito aprender …

Cualquier proyecto de Python de cualquier tamaño será inmanejable sin objetos.

¿Es posible usar módulos como tus objetos en lugar de clases? Sí, si realmente quieres. (En Python, un módulo es lo que se llama un solo archivo).

Sin embargo, incluso si no está creando clases definidas por el usuario, debe aprender a usar objetos .

¿Por qué? Porque todo es un objeto en Python . Necesita al menos saber cómo usar objetos para entender cómo usar los tipos y funciones incorporados en Python.

En Python, los diccionarios son muy importantes para la implementación interna de las cosas, por lo que su intuición de que los diccionarios serían una alternativa es buena.

Pero los diccionarios también son objetos , por lo que aún tendría que aprender a usar objetos, sin obtener el beneficio de su facilidad de uso para muchas cosas en comparación con un diccionario sencillo.

¿Mi consejo? Haz un tutorial de Python (o tres). Todo el asunto . Incluso las partes en la red, o cualquier otra cosa que no creas que vas a usar. Aprenderá cosas sobre el lenguaje que terminará usando más adelante de una manera que nunca anticiparía.

¿Necesitas aprender sobre metaclases? No. ¿Multiprocesamiento? No. Pero necesita aprender todas las características básicas del lenguaje , y las clases y la progtwigción orientada a objetos son la característica principal del lenguaje. Es tan fundamental para casi todos los idiomas modernos que la gente ya no lo menciona.

No estoy de acuerdo con que debas aprender todo por adelantado. Creo que está bien aprender partes del idioma solo cuando las necesite.

Pero en Python no puedes evitar aprender algo sobre los objetos. Todo es un objeto. Una string o un int o cualquier otro tipo de datos es un objeto. Más importante aún, cualquier cosa que importe es un objeto. No podrá llegar muy lejos en ningún proyecto sin importar las características existentes en algún momento, por lo que tendrá que trabajar con una interfaz orientada a objetos.

Entonces, ¿podría escapar sin aprender a definir su propia clase de objetos? En principio sí. Pero entender lo básico es trivial, y luego puedes aprender el rest cuando lo necesites.

 Class MyObject(object): pass 

¡Fácil de aprender! Ahora tienes un tipo personalizado (una clase ) de objeto. Puede crear un objeto real llamando a m = MyObject() . Esta clase proporciona casi exactamente la misma funcionalidad que un diccionario. Pero puede comenzar con esto y luego, cuando lo necesite, puede agregar más funcionalidad (herencia, métodos, …). Si comienzas con un diccionario cuando un objeto es apropiado, simplemente te pintarás en una esquina.