Que nivel en python tengo?

Iniciado por JVBS, 22 Marzo 2019, 06:22 AM

0 Miembros y 1 Visitante están viendo este tema.

JVBS

Me gustaria saber cual es mi nivel en python3, basico, medio, o avansado en base a la opinion de un programador profesional de igual manera me gustaria saber las opiniones de quines no lo son, y tambien si tengo los conosimientos nesesarios para poder trabajar o algo asi.....

Mis conosimientos en python3 son los siguientes:

-Todo lo basico, bucles, tipos de datos complejos, condicionales, funciones, etc.
-Metodos de cadenas
-Exepsiones, librerias en python, Generadores
-POO(Programacion Orientada a Objetos), clases, herencia, herencia multiple, encapsulacion, etc.
-Funciones lambda, Generadores.
-Modulos y Paquetes, Manipulacion de archivos externos
-Serialisasion(lectura y escritura de bytes). Librerias: pickle y json
-Interfases graficas con tkinter.
-Conexion con Bases de Datos(sqlite - CRUD).
-Funciones de orden superior(filter, map).
-Expresiones Regulares
-Decoradores

De antemano gracias por sus respuestas!!

Guarrino

A un profesional se le tiene en cuenta sus conocimientos una vez los pone en práctica.

Yo estoy en básico (muy básico). Por el orden que lo dices supongo que estuviste viendo vídeos de un canal muy bueno para aprender.

Si quieres que te valoren como profesional, enseña un proyecto.

JVBS

Muschas gracias por tu opinion!! Lo tomare en cuenta.

tincopasan

eso es lo mínimo a conocer para estar en un nivel básico, ahora deberías centrarte en que quieres hacer, juegos(pygame,pyzero,etc), interfaces verdaderas(pyqt5 entre otras),ciencias(numpy,matplotlib,etc),imagenes(PIL como mínimo) y más cosas de acuerdo a tus gustos.
Saludos

srWhiteSkull

Tienes un buen nivel de python pero te faltaría programación con hilos y sockets (create un servidor web sencillo, aplicación cliente servidor, usar hilos o crear multiproceso asíncrono y luego sincronizado)...

Yidu

#5
Bueno, antes de nada, habria que ver con que profundidad conoces sobre esos temas. Como han dicho un poco mas arriba parece un temario de un canal de youtube. Y no es una critica. Es una forma igual de buena que otra para aprender. Pero claro, yo pienso que lo importante en la programacion es el conocimiento profundo de la algoritmia.

Se puede cojer cualquier canal de youtube y aprender de boxeo. Pero dudo mucho que subiendo al cuadrilatero durasemos muchos asaltos contra cualquier pugil. Quizas es una exageracion. Pero para mi, lo basico en programacion, es ir probando con pequeños programas propios.

Mi punto de vista es que antes de ir probando modulos y modulos en python (que son casi infinitos) es profundizar en la programacion de algoritmos. Por ejemplo, temas como recursividad, pilas, colas, ordenamientos, listas enlazadas, arboles binarios, arboles de decision, grafos, etc...

Uno puede saber mucho sobre la sintaxis de un lenguaje, pero sin conocimiento de algoritmia es papel mojado.

Por eso pienso que es mejor centrarse al principio en dominar estos temas y luego ir conociendo los modulos que python que nos puedan interesar.

Ahora se ha puesto de moda el machine learning y la IA con python. Incluso los arboles se pueden importar en librerias. Cosa que me parece muy bien. Pero claro, me parece bien cuando un programador sabe como construir esas estructuras aunque sea de forma basica.

Cuando nos acercamos a la inteligencia artificial en python (redes neuronales, aprendizaje supervisado, machine learning, etc...) los ejemplos ya son bastante avanzados para el que se quiere iniciar. Y a la postre se deben importar tropecientos modulos.

Por eso creo que es importante crear nuestros propios programas de IA aunque puedan parecer simples. Es decir, antes de recurrir a modulos externos.



srWhiteSkull

#6
Cita de: Yidu en 24 Marzo 2019, 17:43 PM
Bueno, antes de nada, habria que ver con que profundidad conoces sobre esos temas. Como han dicho un poco mas arriba parece un temario de un canal de youtube. Y no es una critica. Es una forma igual de buena que otra para aprender. Pero claro, yo pienso que lo importante en la programacion es el conocimiento profundo de la algoritmia.

Se puede cojer cualquier canal de youtube y aprender de boxeo. Pero dudo mucho que subiendo al cuadrilatero durasemos muchos asaltos contra cualquier pugil. Quizas es una exageracion. Pero para mi, lo basico en programacion, es ir probando con pequeños programas propios.

Mi punto de vista es que antes de ir probando modulos y modulos en python (que son casi infinitos) es profundizar en la programacion de algoritmos. Por ejemplo, temas como recursividad, pilas, colas, ordenamientos, listas enlazadas, arboles binarios, arboles de decision, grafos, etc...

Uno puede saber mucho sobre la sintaxis de un lenguaje, pero sin conocimiento de algoritmia es papel mojado.

Por eso pienso que es mejor centrarse al principio en dominar estos temas y luego ir conociendo los modulos que python que nos puedan interesar.

Ahora se ha puesto de moda el machine learning y la IA con python. Incluso los arboles se pueden importar en librerias. Cosa que me parece muy bien. Pero claro, me parece bien cuando un programador sabe como construir esas estructuras aunque sea de forma basica.

Cuando nos acercamos a la inteligencia artificial en python (redes neuronales, aprendizaje supervisado, machine learning, etc...) los ejemplos ya son bastante avanzados para el que se quiere iniciar. Y a la postre se deben importar tropecientos modulos.

Por eso creo que es importante crear nuestros propios programas de IA aunque puedan parecer simples. Es decir, antes de recurrir a modulos externos.

Pero él no pregunta sobre su nivel de programación, pregunta sobre su nivel de python. Yo por ejemplo no me defino como experto en tal lenguaje, es más, llevo años desarrollando en distintos lenguajes y tecnologías y tengo un conocimiento general de muchos lenguajes y me considero más programador a "secas". Si, me he enfrentado a muchos desafíos algorítmicos muy complejos y de todo tipo, y ésto debería pesar más que ser experto en tal lenguaje, como creo interpreto en lo que comentas, pero de cara a los RRHH o personal de selección sólo interesa que tengas un "nivel" senior o saber desenvolverse bien con un lenguaje al dedillo sin mirar manuales de cualquier tipo y muchas pruebas de selección o en plataformas de trabajo freelance se realizan de esa estúpida forma.


Yidu

Cita de: srWhiteSkull en 24 Marzo 2019, 18:24 PM
Pero él no pregunta sobre su nivel de programación, pregunta sobre su nivel de python.


Bueno, yo pienso que una cosa lleva a la otra. El autor del post ha puesto una serie de temas que son generalidades en la mayoria de lenguajes y luego algunos modulos. Basandose en esto, con poner que conoce la programacion estructurada, funcional y la POO ya se pueden hacer miles de cosas. Pero eso si, conociendo la algoritmia.

Luego pone otros temas que son librerias como tkinter, json, csv, bases de datos y tal. Estaras deacuerdo conmigo que una vez que conoces lo "basico" en python no es muy complicado aprender nuestra libreria favorita. Es ponerle ganas. Pero si uno no va usar una base de datos, no tiene que aprenderlo por narices.

Porque por esa regla de tres, modulos de juegos no ha puesto ninguna. Igual no le interesan. Por ejemplo pygame, cocos2D, pyglet, etc...

Todo esto lo comento porque a veces me he cruzado con alguien que dice que domina un lenguaje y las estructuras como los arboles le suenan a cosas esotericas. Esto lo he podido ver en algunos libros que he comprado y canales de youtube. No paran de crear canales ensañando python y ya casi no tienen ni visualizaciones. Se centran en enseñar lo basico del lenguaje y cuatro cosas de la POO. En cambio, se pueden ver en otros lenguajes como java o c++ donde si se enseñan estas estructuras.

Esta claro que cada cual puede subir el contenido a youtube sobre la programacion en python. Pero si no ofrece nada nuevo es perder el tiempo a el y al personal.