Vous êtes sur la page 1sur 35

PYTHON: Rompiendoparadigmasenla programacin

ING.MARIBELMEDINA,MSC DocenteURBE

PYTHON: Rompiendoparadigmasenla programacin

ING.RICARDOFABELO,MSC DirectordelaEscueladeIngeniera deComputacinUJGH

DEDONDENACE?

FuecreadocomosucesordellenguajeABCporGuidovanRossum en1990cuandotrabajabaenelCentroMatemticoStichting. En2001,secrealaFundacindelSoftwarePython(PSF),una organizacinsinnimodelucrocreadaespecficamentepara protegerlalibertaddePythoncomolenguajedecdigoabierto. Elnombredellenguajeprovienedelaaficindesucreadororiginal, GuidovanRossum,porlosgenialeshumoristasbritnicosMonty Python

CARACTERISTICASPRINCIPALES
1.Lenguajeinterpretado
Escapazdeanalizaryejecutarotrosprogramas,escritosen unlenguajedealtonivel

2.LenguajeDinmico
Sepuedeescribiryejecutarelcdigodeunprogramaal mismotiempo

2.Multiparadigmas
Soportamsdeunparadigmadeprogramacinorientadoa objetos,imperativoyfuncional

3.Multiplataformas
FuncionaentodoslosSistemasOperativos

FILOSOFIAPYTHON

1.Belloesmejorquefeo. 2.Explcitoesmejorqueimplcito. 3.Simpleesmejorquecomplejo. 4.Complejoesmejorquecomplicado. 5.Planoesmejorqueanidado. 6.Raloesmejorquedenso.

FILOSOFIAPYTHON

7.Lalegibilidadcuenta. 8. Los casos especiales no son tan especiales como para quebrantar las reglas. 9. Los errores nunca deberan dejarse pasar silenciosamente, a menos que hayansidosilenciadosexplcitamente. 10.Frentealaambigedad,rechazala

FILOSOFIAPYTHON

11.Deberahaberunamaneraobviade hacerlo. 12.Ahoraesmejorquenunca. 13. Si la implementacin es difcil de explicar, es una mala idea. Si la implementacin es fcil de explicar, puedequeseaunabuenaidea.

Tipo
str

Clase String String Secuenci a Secuenci a Conjunto Conjunto Mapping Nmero entero Nmero entero Nmero Booleano Inmutable

Notas

Ejemplo
'Integrador' u'Integrador' [4.0, 'string', True] (4.0, 'string', True) set([4.0, 'string', True]) frozenset([4.0, 'string', True]) {'key1': 1.0, 'key2': False} 42 42L 456966786151987643L 3.1415927 True o False

TIPODEDATOS
1.Mutables
Sisuvalorpuedecambiarseen tiempodeejecucin

unic ode list tupl e set froz ense t dict

VersinUnicodedestr Mutable,puedecontenerdiversos tipos Inmutable Mutable,sinorden,nocontiene duplicados Inmutable,sinorden,nocontiene duplicados Grupodeparesclaves,valor Precisinfija Precisinarbitraria Comaflotante Valorbooleanoverdaderoofalso

2.Inmutables
Sisuvalornopuedecambiarse entiempodeejecucin

int long floa t bool

EJEMPLOCODIGO CalculodelFactorialdeunNmero deffactorial(x): ifx==0: return1 else: returnx*factorial(x1) Pythonutilizalaindentacin. Estohacequelamismaseaobligatoria,ayudandoalaclaridady consistenciadelcdigoescrito(inclusoentrevariosdesarrolladores)

EnPython,todoes unobjeto(incluso lasclases).Las clases,alser objetos,son instanciasdeuna metaclase. Pythonadems soporteherenciay polimorfismo.

Unametaclasees unaclasecuyas instanciasson clases.Enotras palabras,comolos objetosson instanciasdeuna clase,lasclases coninstanciasde unametaclase.

VENTAJASDEUTILIZARPYTHON
1.Desarrollomsrpido: Puedesescribirunprograma,salvarloy ejecutarlo. 2.Multiplataforma: Elmismocdigofuncionaencualquier arquitectura,lanicacondicinesque dispongadelintrpretedellenguaje. 3.CdigoAbierto CdigoFuentedisponible

LICENCIAOCOSTO
Pythonposeeunalicencia decodigoabierto, denominadaPython SoftwareFoundation License,queescompatible conlaLicenciaGPLa partirdelaversin2.1.1,e incompatibleenciertas versionesanteriores.Esta licencianoobligaaliberar elcdigofuentealdistribuir losarchivosbinarios

NOTIENE COSTOALGUNO, ADEMASDESER CODIGO ABIERTO

QUELODIFERENCIA

ENELESCRITORIO Phytonfacilitala programacina aquellaspersonasque poseenconocimientos enambientevisual evitandoelretrabajo.

QUELODIFERENCIA

DIFERENCIASTIPADO
1.Pythonesfuertementetipado,VBno. 2.Pythonestipadodinmicamente,VB dependedeladeclaracindelavariable 3.EnPythonnosepuedeutilizarvariables indefinidasosininicializar,enVBsi

QUELODIFERENCIA

DIFERENCIASTIPOSDE DATOS
1.Pythonsoportalosmismostiposde datosdeVB. 2.EnPythoncualquiervariablepuedese nula,enVBsololasvariablessintipo 3.VBsoportacoleccionessimilaresalos diccionariosdePython

QUELODIFERENCIA

DIFERENCIASFUNCIONESY SUBRUTINAS
1.EnPythonnohaydiferenciaentre funcionesysubrutinas. 2.EnPythonlosparmetrossepueden pasarpornombrey/oporposicin,ylos parametrosoptativosdirectamentenose pasannisedejanenblanco.

QUELODIFERENCIA

DIFERENCIASFUNCIONESY SUBRUTINAS
3.Pythonnosoportavariablesestticas (variablesdefinidasdentrodelcontextode unafuncin,cuyovalorperduraentrelos distintosllamados),perosisoporta generadores(dondesepuedeir devolviendoresultadosinsalirdela funcin,preservandolosvaloresdelas variableslocales).

QUELODIFERENCIA

DIFERENCIASORIENTADOA OBJETOS
1.Enpythonsepuedeprogramarmulti paradigmas. 2.Pythonsoportaherencia(mltiple), constructoresconparmetros,mtodosde claseyestticos.

QUELODIFERENCIA

DIFERENCIASORIENTADOA OBJETOS
3.Pythonnosoportaatributos/propiedades pordefecto.

QUELODIFERENCIA

DIFERENCIASSINTAXIS
1.EnPythonlaidentacinesobligatoriapara definirlosbloques,enVBesopcionalyno definelosbloques. 2.Pythonnoutilizadelimitadoresdebloque: nillavesnipalabrasclaves 3.EnPythonparasepararvariasinstrucciones sepuedeutilizarelpuntoycoma.

QUELODIFERENCIA DIFERENCIASSINTAXIS
4.Pythonnosoportalainstrucinde "comparacinmltiple"(SelectenVB),se puedenutilizarvariosifoundicionario. 5.Pythonnosoportaciclos"repetitivos"de maneradirecta(Fori=1To10Step2enVB), siempresedeberecorrerlistas(foriin xrange(1,10,2)enPython).

QUELODIFERENCIA DIFERENCIASSINTAXIS
6.Pythontienesolounaformadeciclos condicionales(while),yseevaluasiempreal comienzodelciclo(similaralDoWhile condicindeVB,peroWhilenosesoportaal finaldelciclo.) 7.Pythonessensibleamaysculasy minsculas

QUELODIFERENCIA

Phytonposeeunasintaxis muchomassencillayclara ademasdesermuchomas rapidoenlaejecucionde susprogramas

QUELODIFERENCIA DIFERENCIAS
1.PhytonestotalmentedinamicoJavano 2.EnJavalasintaxisestadefinidaynoes variableenPythonno 3.ElPhytonesmuchomasespecificoy ocupamenosespacioenmemoria

QUELODIFERENCIA

Phytonesmas reconocidocomo lenguajede programacinpor grancantidadde empresasquebrindan soporteyes multiplataforma

QUELODIFERENCIA
DIFERENCIASCONRUBY 1.Grancantidaddeexcelentedocumentacin 2.Muchosoporteporpartedelaindustria 3.Sintaxismuyclara 4.PythontienemejorsoporteparaWindows (Estonoesespecialmenteimportante)pero claramenteesunpuntoafavordelaserpiente.

QUELODIFERENCIA

ENINTERNET ParaPythonsehan creadovarios frameworkspara hacerlostrabajaren webinclusiveseha consideradoqueen Pythonesmasrpido programarqueenPHP.

QUELODIFERENCIA

ALGUNOSFRAMEWORKS

Django
UtilizaunparadigmaMTV(Model TemplateView)noestancompleto comoelSymfonydePHP,pero ciertamente,ellenguajepythones masfcildeaprenderquePHP

POPULARIDAD

Enlosltimosaosellenguajesehahechomuypopular, graciasavariasrazonescomo:
Lacantidaddelibrerasquecontiene,tiposdedatosyfuncionesincorporadas enelpropiolenguaje. Lasencillezyvelocidadconlaquesecreanlosprogramas. Lacantidaddeplataformasenlasquepodemosdesarrollar,comoUnix, Windows,OS/2,Mac,Amigayotros. Adems,Pythonesgratuito,inclusoparapropsitosempresariales.

EN

Pythonsiemprehasidounlenguaje importantedentrodeGoogle.Ahoralos ingenierosdeGooglequierendisearun JIT(justintimecompiler),usandocomo baseparaelmismoelcompilador.

EN
LOSOBJETIVOSSON: ImplementarPythonparaquesea capazdeaumentarlavelocidadde ejecucindelaactualhastacincoveces. Conservarlaestabilidaddelaversin actual. Compatibilidadaniveldefuentescon lasaplicacionesymdulosactuales. Quierendonarestaramaal repositoriogeneral.

EN

GooglequiereusarPythonenproyectos quenecesitenrendimientoenvezdeC, puestoqueesunlenguajequedaal usuarioherramientasdemuchomsalto nivelparaimplementarlasfuncionesque deseeamndeunaamplialibrerade mdulosconfuncionesprobadas.

APLICACIONES
Lassiguientesaplicacionessepuedenver/probar/evaluarparaconocerel lenguajeyversucapacidad/rendimiento: BigTorren:programaparacompartirarchivosp2p(interfazwx) ClamWin:elantiviruslibre,frontenddeclamav(interfazwx)

OpenErp:completosistemadegestinempresarialentrescapas(interfaz gtk) Meld:visordediferencias(interfazgtk)

Trac:sistemadegestindeproyectos(interfazweb)

APLICACIONES
Lassiguientesaplicacionessepuedenver/probar/evaluarparaconocerel lenguajeyversucapacidad/rendimiento: Enelambitolocal: SistemaFierro:sistemadegestinparalibreriasyeditoriales(interfazwx)

QUELODIFERENCIA

Phytonposeeunasintaxis muchomassencillayclara ademasdesermuchomas rapidoenlaejecucionde susprogramas

Vous aimerez peut-être aussi