Académique Documents
Professionnel Documents
Culture Documents
ING.MARIBELMEDINA,MSC DocenteURBE
DEDONDENACE?
CARACTERISTICASPRINCIPALES
1.Lenguajeinterpretado
Escapazdeanalizaryejecutarotrosprogramas,escritosen unlenguajedealtonivel
2.LenguajeDinmico
Sepuedeescribiryejecutarelcdigodeunprogramaal mismotiempo
2.Multiparadigmas
Soportamsdeunparadigmadeprogramacinorientadoa objetos,imperativoyfuncional
3.Multiplataformas
FuncionaentodoslosSistemasOperativos
FILOSOFIAPYTHON
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
VersinUnicodedestr Mutable,puedecontenerdiversos tipos Inmutable Mutable,sinorden,nocontiene duplicados Inmutable,sinorden,nocontiene duplicados Grupodeparesclaves,valor Precisinfija Precisinarbitraria Comaflotante Valorbooleanoverdaderoofalso
2.Inmutables
Sisuvalornopuedecambiarse entiempodeejecucin
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
QUELODIFERENCIA
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
QUELODIFERENCIA DIFERENCIAS
1.PhytonestotalmentedinamicoJavano 2.EnJavalasintaxisestadefinidaynoes variableenPythonno 3.ElPhytonesmuchomasespecificoy ocupamenosespacioenmemoria
QUELODIFERENCIA
QUELODIFERENCIA
DIFERENCIASCONRUBY 1.Grancantidaddeexcelentedocumentacin 2.Muchosoporteporpartedelaindustria 3.Sintaxismuyclara 4.PythontienemejorsoporteparaWindows (Estonoesespecialmenteimportante)pero claramenteesunpuntoafavordelaserpiente.
QUELODIFERENCIA
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
EN
LOSOBJETIVOSSON: ImplementarPythonparaquesea capazdeaumentarlavelocidadde ejecucindelaactualhastacincoveces. Conservarlaestabilidaddelaversin actual. Compatibilidadaniveldefuentescon lasaplicacionesymdulosactuales. Quierendonarestaramaal repositoriogeneral.
EN
APLICACIONES
Lassiguientesaplicacionessepuedenver/probar/evaluarparaconocerel lenguajeyversucapacidad/rendimiento: BigTorren:programaparacompartirarchivosp2p(interfazwx) ClamWin:elantiviruslibre,frontenddeclamav(interfazwx)
Trac:sistemadegestindeproyectos(interfazweb)
APLICACIONES
Lassiguientesaplicacionessepuedenver/probar/evaluarparaconocerel lenguajeyversucapacidad/rendimiento: Enelambitolocal: SistemaFierro:sistemadegestinparalibreriasyeditoriales(interfazwx)
QUELODIFERENCIA