Title | Aprende Python en un fin de semana (Spanis - Alfredo Moreno Munoz |
---|---|
Author | edward robert carvajal martinez |
Course | Algoritmos |
Institution | Corporación Universitaria Remington |
Pages | 189 |
File Size | 6.1 MB |
File Type | |
Total Downloads | 112 |
Total Views | 151 |
Aprende Python en un fin de semana (Spanis - Alfredo Moreno Munoz...
El contenido de la obra ha sido desarrollado exclusivamente por los miembros delequipodeTimeofSoftware.
Reservados todos los derechos. Queda rigurosamente prohibida, sin l autorizaciónescritadeTimeofSoftware,bajolas sancionesestablecidasenla leyes, la reproducción parcial o total de esta obra por cualquier medio o procedimiento,incluidoslareprografíayeltratamientoinformático,asícomola distribucióndeejemplaresmediantealquileropréstamopúblico. Ediciónagosto2018 Paramásinformaciónvisita:
www.timeofsoftware.com www.aprendeenunfindesemana.com
TABLADECONTENIDO
INTRODUCCIÓN ¿QUÉNECESITOPARAEMPEZAR? PROCESODEAPRENDIZAJE Organización Distribucióndelfindesemana
CONCEPTOSPREVIOS ¿Quéesunprograma? ¿Quéesprogramar?
PYTHON
¿QuéesPython? ElZENdePython ¿PorquéPython?
ENTORNODEDESARROLLO Instalación InstalaciónenMacOSX InstalaciónenMicrosoftWindows InstalaciónenLinux Familiarizándoteconelentornodedesarrollo
OBJETIVO1–MANEJODEMENSAJESPORPANTALLA Conceptosteóricos print input Variables FASE1:Mostrarinformaciónporpantalla FASE2:Leerinformacióndesdeteclado Ahoraerescapazde…
OBJETIVO2–UTILIZACIÓNDETIPOSDEDATOSBÁSICOS Conceptosteóricos Tiposdedatos Operadores FASE1:Númerosyoperadoresaritméticos Suma Resta Multiplicación División Redondeodenúmerosreales FASE2:Cadenasdetexto(Básico)
FASE3:Colecciones Listas Tuplas Diccionarios FASE4:Booleanosyoperadoreslógicosyrelacionales Booleanos Operadoreslógicos Operadoresrelacionales FASE5:Cadenasdetexto(Avanzado) Ahoraerescapazde…
OBJETIVO3–CONTROLFLUJODEUNPROGRAMA Conceptosteóricos BloqueseIndentación IF/ELIF/ELSE FASE1:SentenciaIF FASE2:SentenciaIF..ELSE FASE3:SentenciaIF..ELIF..ELSE Ahoraerescapazde…
OBJETIVO4–BUCLES Conceptosteóricos Bucle FOR WHILE FASE1:BucleWHILE FASE2:BucleFOR FASE3:Buclesanidados Ahoraerescapazde…
PROYECTO1–CALCULADORA Códigofuenteyejecución Ahoraerescapazde…
OBJETIVO5–FUNCIONES Conceptosteóricos Funciones FASE1:Usodeunafunción FASE2:Funcionesanidadas Ahoraerescapazde…
PROYECTO2–CALCULADORAEVOLUTIVA Códigofuenteyejecución Ahoraerescapazde…
OBJETIVO6–PROGRAMACIÓNORIENTADAAOBJETOSBÁSICA Conceptosteóricos Cambiodeparadigma
Conceptodeclaseyobjeto Composición FASE1:Clasesimple FASE2:Composición Ahoraerescapazde…
PROYECTO3–BIBLIOTECA Códigofuenteyejecución Ahoraerescapazde…
OBJETIVO 7 – PROGRAMACIÓN ORIENTADA A OBJETOS AVANZADA Conceptosteóricos Encapsulación Herencia FASE1:Encapsulación FASE2:Herencia FASE3:Herenciamúltiple Ahoraerescapazde…
OBJETIVO8–TRABAJANDOCONFICHEROS Conceptosteóricos Manejodeficheros FASE1:Lecturadeficherosdetexto FASE2:Escrituraenficherosdetexto Ahoraerescapazde…
OBJETIVO9–CONTROLDEEXCEPCIONES Conceptosteóricos Excepciones FASE1:Controlandoexcepciones Ahoraerescapazde…
PROYECTO4:CALCULADORAEVOLUTIVA2 Códigofuenteyejecución Ahoraerescapazde…
PROYECTOFINAL–AGENDA Códigofuenteyejecución Ahoraerescapazde…
¡CONSEGUIDO! ANEXOS Palabrasreservadas Comentariosdecódigo Caracteresespecialesencadenas ExcepcionesexistentesenPython
SOBRELOSAUTORESYAGRADECIMIENTOS MATERIALDESCARGABLE OTROSLIBROSDELOSAUTORES
INTRODUCCIÓN
¡Bienvenid@almaravillosomundodelaprogramación! Hasllegadohastaaquí…¡esoesporquetienesganasdeaprenderaprogramary concretamente hacerlo con Python! Y lo mejor de todo, es que has decidid hacerloconnosotros,¡muchasgracias! Elobjetivodellibroconsisteenconstruirunabasesólidadeprogramaciónyde lenguajedeprogramaciónPythonparaquepuedasdesenvolverteantecualquie situación. Para ello, hemos diseñado un método de aprendizaje basado completamenteenprácticasprogresivasjuntoconnocionesbásicasteóricas,ylo mejordetodo,estructuradodetalformaquetepermitiráaprenderloenunfinde semana. Una vez hayas acabado el libro, siguiendo el modo de aprendizaje que t proponemos, podemos garantizarte que vas a ser capaz de tener la autonomí suficienteparallevaracabotuspropiosproyectosdeprogramación,oalmeno lanzarteaquelointentes. Estamos seguros de que, si nos acompañas hasta el final del libro, se te van ocurrir una cantidad grande de ideas de proyectos de programación, ya qu cuantosmásconocimientosvasaprendiendo,máscuriosidaddesarrollarásymás ideasteiránsurgiendo. Teanimamosa quecomiencesa adentrarteeneste mundoy disfrutesconcada proyecto. No desesperessi no lo consiguesa la primera, yaque seguro que d cada error aprendes algo que te sirve para seguir avanzando. Ésto es solo e comienzo. ¿Empezamos?
¿QUÉNECESITOPARAEMPEZAR?
ParaaprenderPythonenunfindesemana,talycomoteproponemosenellibro necesitaráslosiguiente: Un ordenador, con total independencia del sistema operativo que tenga instalado. Si no dispones de conexión a internet deberás de descargar desde cualquier ordenador conectado a internet la plataforma dedesarrollo de Python e instalarlo en elordenador que vasautilizardurantetodoelaprendizaje.Enlosapartadossiguientes te explicaremos los pasos a seguir para instalar el entorno de desarrollo en cada uno de lossistemas operativos soportados por la plataformadedesarrollodePython. Yporsupuesto…¡unfindesemana! Al final del libro encontrarás la URL desde dónde puedes descargar el código fuentedetodoslosejerciciosdellibro.
PROCESODEAPRENDIZAJE
EllibroestáescritoparaayudarteaaprenderPythondeformarápida,sencillay con un enfoque práctico. Si eres nuev@ en programación, en el libro vamos a explicartedeforma sencillatodoslos conceptosque necesitassaber parapode aprenderaprogramarutilizandoPython.Siyasabesprogramar,enellibrovasa encontrartodoloquenecesitassaberparatenerunabasesólidadellenguajeque tepermitaprofundizarmás. Los temas tratados en el libro están seleccionados de forma cuidadosa y ordenados de tal forma que se facilita el aprendizaje progresivo de todos lo conceptosqueseexplican. El libro tiene un claro enfoque práctico, con multitud de ejemplos que te permitiránafianzartodoslosconocimientosteóricosqueteexplicamos. Veamoscómoestáorganizadoellibro.
Organización Elaprendizajeestádivididoendospartesclaramentediferenciadas: Bloqueteóricosobreellenguajeypuestaenmarchadelaplataforma dedesarrollo. TeoríadeprogramaciónyPráctica. La primera parte del aprendizaje incluye una explicación teórica sobre e lenguaje de programación Python y todo lo necesario para que seas capaz d montartodalainfraestructurasoftwarequenecesitasparaempezaraprogramar con Python,junto conla explicaciónbásica decómo programarcon elentorno dedesarrollo. El aprendizaje práctico está dividido en nueve Objetivos diferentes y cinco Proyectos, que sirven para afianzar los conocimientos adquiridos en lo diferentesObjetivos. Los Objetivos tienendificultad incremental.A medidaquese vaavanzandose vanadquiriendonuevosconocimientosdemayorcomplejidadquelosanteriores LosObjetivosestáncompuestospordiferentesejerciciosquellamaremosFases EncadaObjetivo,antesdeempezar,seexplicantodoslosconceptosteóricosqu seutilizaránentodaslasFasesquelocomponen. Una Fase es un conjunto de ejercicios que profundizan en un área d conocimientodentrodelObjetivo.EncadaFaseseindicaelcódigofuentejunto con su explicación, además, se incluye un ejemplo de ejecución del códig fuente. Los Proyectos son ejercicios de dificultad avanzada que permiten afianzar los conocimientosadquiridosenlosObjetivosanteriores.Duranteelaprendizajese realizancincoProyectos. PrimerProyecto:AfianzarconocimientosdelosObjetivosdel1al4. SegundoProyecto:AfianzarconocimientosdelObjetivo5. TercerProyecto:AfianzarconocimientosdelObjetivo6. CuartoProyecto:AfianzarconocimientosdelosObjetivosdel7al9. ProyectoFinal:AfianzarconocimientosdetodoslosObjetivos.
El segundo yel cuarto Proyecto sonproyectos evolutivos del primerProyecto con ellos vasa iraplicando nuevosconocimientos alprimer Proyectopara una mejorcomprensióndetodoloquevasaaprender.
Distribucióndelfindesemana Elmétododeaprendizajehasidodiseñadoyoptimizadoparaqueseascapazde aprender Python en un fin de semana. Obviamente, el tiempo de aprendizaj puedeversemodificadoligeramenteporlosconocimientospreviosquetengas. La secuencia de aprendizaje recomendada que debes seguir para alcanzar e objetivodeaprenderPythoneslasiguiente:
CONCEPTOSPREVIOS
Enesteapartadovamosaexplicarteunaseriedeconceptospreviosque,aunque noestánligadosalaactividaddeprogramación,teharánentendermejorenqué consisteprogramar.
¿Quéesunprograma? Elprimerconceptoquetienesqueentendercuandoempiezasaprogramaresqué esun programa.Un programaesun conjuntodeinstrucciones opasos asegui que se le dan a un ordenador de forma secuencial para que realice una tare específica. Elflujonormaldeunprogramaeselsiguiente: 1. El programa recibe datos de entrada, normalmenteintroducidos por losusuariosdeéste. 2. Ejecutalasinstruccionesespecificadasporelprogramador. 3. Elprogramaobtienecomoresultadounconjuntodedatosdesalida. Lasiguiente imagenmuestra loque seríaun programadesde unpuntode vista dealtonivel,esdecir,loqueveunusuariorelativoaunprograma:
¿Quéesprogramar? Una vez que has entendido qué es un programa, llega el momento de que t familiarices con el término “programar”, que no es otra cosa que la acción de decirleaunordenadorexactamente loquetieneque hacerycómolo tieneque hacerutilizandounlenguajedeprogramaciónespecífico. Loslenguajesdeprogramaciónpermitenalosprogramadorestransformarlaidea que tienen del programa en un conjunto de instrucciones que el ordenador e capazdeejecutar.
PYTHON
En este apartado vamos a explicarte conceptos teóricos sobre Python y enseñarte por qué es un lenguaje de programación potente y por qué debe aprenderlo.
¿QuéesPython? Pythonesunlenguajedeprogramaciónquefuecreadoafinalesdelosaños80 porelholandésGuidovanRossum,fandelgrupohumorísticoMontyPython,de ahíelnombrequelepusoallenguajedeprogramación. Lascaracterísticasdellenguajesonlassiguiente: Simplicidad:¡LagranfortalezadePython! Sintaxisclara:LasintaxisdePythonesmuyclara,esobligatoriala utilizacióndelaindentaciónentodoelcódigoqueseescribe.Gracias aestacaracterísticatodoslosprogramasescritosenPythontienenla mismaapariencia. Propósito general: Se pueden crear todo tipo de programas incluyendopáginasweb. Lenguaje interpretado: Al ser un lenguaje interpretado no es necesario compilarlo, lo que te ahorrará tiempo a la hora de desarrollar.Tambiénimplicaquesuejecuciónseamáslenta,yaque los programas son ejecutados por el intérprete de Python en vez de ejecutadosporlamáquinadondeloarrancas. Lenguaje de alto nivel: No es necesario que te preocupes de aspectosdebajonivel comopuedeser elmanejodela memoriade programa. Lenguaje orientado a objetos: Lenguaje construido sobre objetos queincorporandatosyfuncionalidades. Open Source: Python ha sido portado a los diferentes sistemas operativos, por lo que puedes usarlo en el que más te guste. Otr característica de ser Open Source es que es un lenguaje de programacióngratuito. Extensaslibrerías:Facilitanlaprogramaciónalincorporarmediante
libreríasunagrancantidaddefuncionalidades. Incrustable: Es posible añadir programas escritos en Python a programasescritosenCyC++. ¡Python es un lenguaje de programación muy completo! De todas la características que tiene, la clave de su gran éxito es la primera de ellas, l simplicidadconlaquecuenta,quelohaceperfectoparaempezarenelmundod laprogramación.
ElZENdePython LafilosofíadellenguajePythonestáplasmadaeneldocumentoescritoporTim Petersquepuedesencontrar enhttps://www.python.org/dev/peps/pep-0020/.A continuación,encontraráslosmantrasdePythontraducidosalcastellano: Hermosoesmejorquefeo. Explícitoesmejorqueimplícito. Simpleesmejorquecomplejo. Complejoesmejorquecomplicado. Sencilloesmejorqueanidado. Escasoesmejorquedenso. Lalegibilidadcuenta. Los casos especiales no son lo suficientemente especiales para romperlasreglas. Loprácticoleganaalapureza. Loserroresnodebenpasarensilencio. Amenosqueseansilenciados. Respectoalaambigüedad,rechazarlatentacióndeadivinar. Debe haber una – y preferiblemente sólo una – manera obvia de hacerlo. Aunque esa manera puede no ser obvia en un primer momento a menosqueseasholandés. Ahoraesmejorquenunca. Aunque“nunca”esamenudomejorque“ahoramismo”. Silaaplicaciónesdifícildeexplicar,esunamalaidea. Silaaplicaciónesfácildeexplicar,puedeserunabuenaidea. Los espacios de nombres son una gran idea ¡hay que hacer más de eso!
¿PorquéPython? Actualmente existen multitud de lenguajes de programación que son muy parecidosentreellos(Java,C#,C++…),básicamente,loúnicoquecambiaentre elloseslasintaxisqueseutilizaparaprogramar.Estoesalgomuybueno,yaqu aprendiendo uno de esos lenguajes no te costará aprender otro de ellos, por lo que únicamente tendrás que aprender la sintaxis concreta que tiene el lenguaje quedeseasaprender. En este apartado vamosa explicarte las razones por las que debesde aprende Python.Dichasrazonessonválidastantosieresnuevoenlaprogramacióncomo si no lo eres, aunque, cuando termines de leer el apartado estamos seguros de que tu opinión será que Python es el lenguaje perfecto para aprender programar. Existen multitud de razones por las cuales debes de aprender a programar e Python.Veamoslasmásimportantes: Simplicidad La característica principal es Python es que es un lenguaje simple, reduc considerablemente el número de líneas de código en comparación con otro lenguajesyproveeherramientaspararealizaroperacionesdeformamássimple quecomoserealizanconotroslenguajes. Veamos un ejemplo con el típico primer programa que se suele realizar con todos los lenguajes de programación cuando empiezas a aprenderlos, el “Hola Mundo”. ElprogramaenellenguajedeprogramaciónJavaseríaelsiguiente:
ElprogramaenPythonseríaelsiguiente: Gracias a la simplicidad de Python, los errores que un programador pued cometer cuando realiza los programa se ven reducidos, ya que al tener qu escribir menos código fuente se verá reducida la probabilidad de comete errores. Además, un punto muy importante ligado a la simplicidad, es que a escribirmenoslíneasdecódigoeltiempodedesarrollosevereducido,yéstoe algo muy importante a tener en cuenta cuando se realizan proyectos d desarrollodesoftware. ¿Qué opinas? ¡Python esmuy sencillo y simple comparado con el restode los lenguajes! Resultadosrápidos Cuando estás aprendiendo a programar te gusta ver resultados de lo que está aprendiendo.ConPythonvasapoderverlosresultadosdeformainmediata. Pythonvaapermitirteestarhaciendoprogramasalospocosdías(inclusohoras dehaberempezado,observarásqueavanzascasisinesfuerzoagranvelocidad. Puntodepartida Python es un lenguaje muy completo, no pienses que por ser simple es u lenguajebásico.ConPythonvasaaprendertodoslosconceptosexistentesene mundo de la programación, como por ejemplo puede ser la programación orientada a objetos (POO), hilos… Python abarca todos los campos existentes dentrodelaprogramación. Librerías Python es un lenguaje poderoso. A medida que te vas familiarizando con e lenguajeyvasaprendiendoymanejandotodaslasfuncionalidadesdescubresque Python dispone de un conjunto de librerías y módulos muy extenso que t permiten realizar cualquier tipo de proyecto, con total independencia de su naturaleza.
Desarrolloweb ExistenmultituddeframeworksqueutilizanPythonparaeldesarrolloweb,entre ellos,destacaDjango.Talycomopuedescomprobar,elmantraqueencabezasu páginawebeselmismoquePython:
En Django Sites puedes encontrar un montón de paginas webs hechas con Django. RaspberryPi PythonesellenguajeprincipaldeprogramacióndeRaspberry. Comunidad La comunidadque hay detrásde estelenguaje de programaciónes inmensa, lo que provoca que el lenguaje no quede obsoleto y vaya recibiendo actualizaciones. Otro punto fuerte de la comunidad que tiene detrás es l creación de frameworks, módulos, extensiones y multitud de herramientas que facilitan el desarrollo coneste lenguaje. Los desarrolladores en Python son los primerosinteresadosenque hayamásgenteque programeconPython, yaque deestaforma,elnúmerodeherramientas/frameworksquefacilitaneldesarrollo serámayor. Unadelascosasmásimportantesparaalguienqueempiezaconunlenguajede programación es la ayuda que ofrece la comunidad que tiene alrededor e lenguaje de programación. Si te animas a aprender Python verás como podrás encontrarsindificultadlaresolucióndetuspreguntas/dudas/problemas. ¡ProgramandoenPythonnuncatevasasentirsólo! Demandalaboralalta Python es utilizado por las grandes empresas tecnológicas del mundo… Saber
Python implicará tener más posibilidades de encontrar ese trabajo que siempre hasqueridotener.
ENTORNODEDESARROLLO
PythonposeeunentornodedesarrollollamadoIDLE(Integrated DeveLopmen EnvironmentoIntegratedDevelopmentand Learning Environment).Elentorno dedesarrolloestáincluidoenPythondesdelaversión1.5yestápensadoparase utilizadocomoentornodeaprendizajegraciasasusimplicidad. Tal y como hemos comentado en el punto anterior, el nombre de Python hace honor al grupo cómico Monty Python, pues, el nombre para el entorno d desarrollo, IDLE, podría haber sido elegido por el apellido de uno de su miembrosfundadores,EricIdle. ParainstalarPythontienesqueentrarenhttps://www.python.org.
Una vez estés dentro de la web de Python, tienes que navegar a la secció Downloads.Pordefecto,tesaldráparadescargar laversiónquesecorresponde conelsistemaoperativodetuordenador.Descargalaversión3.7,queesconl quevamo...