[Link]
net
informes@[Link]
CURSOPYTHON
NIVELINICIAL
Da1:
[Link](enLinux)
[Link]
[Link]
Da2:
[Link]
[Link]
[Link]
Da3:
[Link]
[Link]
Da4:
[Link]
[Link],ObjetosdeMysqlyPgsql
Da5:
[Link]
[Link]
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link](enLinux)
PythonenLinuxesmuyfcildeinstalar,deechoesprcticamentela
basedetantasherramientasdesoftwarelibrequegeneralmenteyaviene
pordefecto.
PorquelosprogramadoresprefierenusarPython?
[Link]
[Link]
[Link]
[Link],guiappsywebapps
[Link]
[Link]
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link](enLinux)
PlataformasRPM(redhat,centOS,Fedora)
yuminstallpython
PlataformasDEB(Debian,Knoppix,Ubuntuentodassusvariantes)
aptgetinstallpython
OjO:vanaencontrarvariasramasdePythoncomola2.4,2.5,2.6,2.8,3.0;
[Link],la3.0
podranotenertodoloquenecesitas.
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link](enLinux)
InstalarPythonconloscomandosanteriormentemencionadossolo
instalaelenginebase,pythoncuentaconunagranvariedaddelibreras
paradiferentesfuncionesycadaunadeestasconsuspropias
dependencias,porejemplo:
SideseamosinstalarlaslibrerasdeconexinaPostgreSQLdebemos
primeroinstalarpython,luegoinstalarunadelaslibrerasdeconexina
Postgresqlcomoesto:
aptgetinstallpythonpgsql
EstoinstalarprimeroelclientedeCdePostgresqlytodassus
dependenciasyluegoalfinallalibrerapythonpgsql.
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link](enLinux)
Luegodeinstaladoalejecutarpythonenlaconsolatenemosalgocomo
esto:
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
ElentornodelaconsolanospermiteaprenderPythondeunamanera
massencilla,sepuedeprobarfuncionalidadessencillasysintaxisdel
lenguaje.
Comandosbsicos:
printholamundo<imprimealgoenlaconsola
A=22<crealavariableA
printA<imprimeelvaloralmacenadoenlavariableA
b=input(dame#:)<solicitaenlaconsolaingresarunvalorylo
guardaenlavariableb
Sepuedehacermas?
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
(Los...significanuntab)
a=3
ifa<3:
...printesmenorque3
else:
...printesmayoroigualque3
presionar2vecesenterenlaultimalineaylaconsolasoltaraeste
mensaje:
esmayoroigualque3
Escribirsentenciascomplejasenlaconsolaescomplicado,unerrorde
sintaxishacevolveraescribirtodalasentencia,estoesmuyincmodo.
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
ParaprogramarenPythonesmejorutilizaruneditordetextocualquierao
algunoespecializadoenestelenguaje,grabarelprogramacomoun
[Link](noobligatorio)yluegoejecutarlosas:
[Link]
Elresultadoloveremosenlaconsoladelsistemaoperativo.
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Pythonmanejavariostiposdedatos,eltipocorrespondealtipodedato
conelcualseinicializalavariable.
Tipossoportados:
Cadenas(strings)
Enteros
PuntoFlotante
Boolean
Compararlosresultados:
A=10A=10.0
printA/3printA/3
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
ExisteuntiponullqueenPythonseconocecomonone.
G=None
ifGisNone:
..printGesnulo
else:
...printGtienealgo:
Larespuestaes:
GesNulo
Lostiposbooleanseasignanas:
a=True<tomeencuentalaprimeraletraenmayscula
b=False
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Arreglos.
EnPythonelconceptodeArregloesmuchomasespecializado.
*Lalista,esunconjuntodedatosingresadosenunaestructuranica,
nonecesitanserdelmismotipo(elndiceempiezaen0):
A=[1,4,6,'apesol']
forvalorinA:
...printvalor
Elresultadoes:
Elemento0:1
Elemento1: 4
Elemento2: 6
Elemento3: apesol
Practica:escribirprintA[3]
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Arreglos.
*Lalista,incorporaelmtodoinsertparaaadirmaselementos,el
mtodoappendaadeunvaloradicionalinmediatamentealfinaldela
listayelcomandodeleliminaelementosdelalistadeunaposicin
determinada.
[Link](4,'chicha')
delA[2]
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Arreglos.
*Lastuplas,sonconjuntosdedatoscomoenunalistaperoes
inmutable,nosepuedeaadiroborrarelementos.
A='a',2,'c',4
forvalorinA:
...printvalor
Loselementosentreparntesisdenotanunatupladentrodeotra,este
principiosecumpleenlalista.
A='a',2,'c',4,('e',6)
forvalorinA:
...printvalor
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Arreglos.
*Losdiccionariossoncomolosarreglostradicionales,tienenunndice
yunvalorcomopartedesuestructura,sepuedeaadiryquitardatos.
Arreglo={'a':123,'b':'holamundo',3:122}
printArreglo['b']
ahoraveamosqueobtenemosconesto:
forcinArreglo:
...printc
Yahoraas:
forcinArreglo:
...printArreglo[c]
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Arreglos.
Lafuncinlen()permiteobtenerlacantidaddeelementosdentrode
unalista,tuplaodiccionario.
Elcomandodelpermiteeliminarunelementoeneldiccionario
haciendomencinalmismoysundice.
Parainsertarunelementoenunarreglosimplementehagamencindel
mismoycoloqueunnuevonombredendice(numerootexto)
Podemoscrearlistasdediccionarios:
a=({1:12,2:13},{1:21,2:23})
forcina:
...printc
...fordinc:
......printc[d]
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
*Type,permitevereltipodedatosdeunavariable
x=10x=122332423423434x='abc'
type(x)type(x)type(x)
x=10.0x=Nonex=(1,2,3)x={1:10,2:20,3:30}
type(x)type(x)type(x)type(x)
*Intyfloat,convierteunfloataunenteroydeenteroafloat,puede
usarseconcadenasdetextoperoquenotenganliterales
x=10.0x=10
printx/3printx/3
printint(x)/3printfloat(x)/3
*Operadores+=,=,*=,/=parasuma,resta,multiplicacinydivisin
rpidaconelvaloryaalmacenado
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
*%,elmoduloenlasdivisionesenteras
*//,paraladivisinentera
print9%2
print9//2
*str,transformacualquierobjeto/variableacadenadecaracteres
x=12
printstr(x)+'<elnumero'
*bool,permitetransformarunavariableabooleano,nomuyprctico.
X=12x=0x='abc'x=''x=None
printbool(x)printbool(x)printbool(x)print(x)print(x)
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
ElmanejodecadenasenPythonesbastanteavanzadoynorequiere
funcionesexternas.
Concatenar:
a='hola'a='aaa'
b='mundo'a+='bbb'
printa+''+bprinta
Subcadena(elindicesiempreempiezaen0):
a='holamundo'
printa[3]<undgito
printa[5:10]<unaseccindecadena,comosubstr
printa[5:]<desdelaposicin5hastaelfinaldelacadena
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Subcadena(elindicesiempreempiezaen0):
a='holamundo'
printa[:5]<cortadesdeeliniciohastalaposicin5
printa[:5]<cortalosltimos5caracteresdelacadena
printa[2:5]<cortadesdelaposicin2hastalos5ltimos
caracteresdeunacadena
Unamaneradearmarcadenasformateadasesas:
X=12
Y=11
A=elvalordeXes:%dydeYes:%d%(X,Y)
printA
Len,retornalacantidaddecaracteresdeunacadena
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Unacadenaesunobjetoquetienevariosmtodosasociadosaella
mismatalescomo:
x='Hola,MunDO'
[Link]()<primeraletradecadapalabraenmayscula
[Link]()<todalacadenaenmayscula
[Link]()<todalacadenaenminsculas
[Link]()<primeraletradelacadenaenmayscula
[Link]('a')<cuentalacantidadde'a'enlacadena
[Link]('a,')<ubicalaposicindelacadenadeltexto
ingresado
[Link]('a','4')<reemplazalas'a'por'4'
[Link](x)<cortalacadenaenunalista,cadapalabra
esunelementodelalista
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Caracteresespecialescomocomillasydoblescomillasdebenusarel
caracter\pordelante.
a=ySanMartindijo\VivaelPeru\
printa
Pararepetircadenas,multipliquelaporlacantidaddevecesrequerida
A='cuy'*5
printA
Nosepuedecambiarelvalordeuncaracterdeunacadena
A=cuy
A[2]='i'<daunerror
[Link]
informes@[Link]
[Link]
Operadoresdecomparacion:
==<igual
<><diferente
Operadoreslogicos:
and
or
not
A=1
B=1
ifnota<>b:
...printAnoesdiferentedeB
CURSOPYTHON
NIVELINICIAL
[Link]
informes@[Link]
[Link]
IF
ifa==b:
...printaybsoniguales
elifa>b:
...printaesmayorqueb
else
...printaybsondiferentes
CURSOPYTHON
NIVELINICIAL
[Link]
informes@[Link]
[Link]
WHILE
X=10
Y=0
whileY<X:
...Y+=1
...printY
CURSOPYTHON
NIVELINICIAL
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
FOR,tienemuchasformasdeusarse
Enunrangodenmeros:
forainrange(1,10):<ejecutadel1al9
...printa
forainrange(10):<ejecutadel0al9
...printa
Enunalistadevalores:
forain(1,10,5,7):<puedeserunatuplaoundiccionario
..printa
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
FOR,tienemuchasformasdeusarse
Enunrangodenmeros:
forainrange(1,10,2):<ejecutadel1al9saltandode2en2
...printa
forainrange(10,1,3):<ejecutadel10al1saltandode3en3
...printa
fora,bin((1,4),(2,5),(3,6)):<soloseaceptavaloresnumricosenteros
...printa
...printb
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Break,permitesalirdeunloop
forcinrange(1,10):<ejecutadel1al6
...printc
...ifc>5:
......break
Continue,permitevolveraiterarsinejecutarelcdigoquecontinuaenel
loop
forcinrange(1,10):<ejecutadel1al5
...ifc>5:
......continue
...printc
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Elcomandotrypermitecapturarlaposibilidaddequeseproceseun
errorenlaejecucindelsiguientecomandoparaqueelPythonnonos
botedelprograma.
try:
...a='abc'+123
except:
...printhayunerror
Elexceptrespondeadiferentesvaloresdependiendoelcomandoa
ejecutar,porejemplolaslibrerasdePostgreSQLtienendiferentes
exceptdependiendoeltipodeerror.
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
try:
...a='abc'+123
except:
...pass<passnohacenada
printsecomioelerror
Estasentenciadaerrorelcdigodebecontinuardebajodelniveldeltry
try:
...a='abc'+123
...printaquidebecontinuarelprograma
except:
...pass
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
try:
...a='abc'+123
except:
...pass<passnohacenada
printsecomioelerror
Estasentenciadaerrorelcdigodebecontinuardebajodelniveldeltry
eneleditordeconsola,[Link]
continuaconlaejecucindelprograma.
try:
...a='abc'+123
...printaquidebecontinuarelprogramasiestoyenconsola
except:
...pass
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
try:
...a='abc'+123
except:
...raise('mensajito')<permitevertodoeltracebackdelerror
cortaelprogramaypermiteenviarunmensaje
finalpersonalizado
Existenvariostiposdeexceptparaelusocomndellenguajeestosson
losmasconocidos:
exceptRuntimeError:
printerrorenelsistema
exceptTypeError:
printerrordetipodedatos,comoelqueestamosgenerando
exceptNameError:
printcuandoseusaunnombredevariable/objetoquenoexiste
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Ejemploparaexplicar:
importsys<importaunalibrera
try:
f=open('[Link]')
s=[Link]()
i=int([Link]())
exceptIOErroraserr:<tipodeexceptespecialdela
print("I/Oerror:{0}".format(err))libreriasyssinoOpen([Link])
exceptValueError:<seejecutacuandoint()nopuede
print("Couldnotconvertdatatoaninteger.")convertirelvaloraentero
except:<errorgenerico
print("Unexpectederror:",sys.exc_info()[0])
raise
[Link]
informes@[Link]
[Link](Usareditordetexto)
defmi_funcion(mi_parametro):
...sentencias
Ejemplo:
defmi_raizcuadrada(pNumero):
...return(pNumero*pNumero)
printmi_raizcuadrada(4)
printmi_raizcuadrada(mi_raizcuadrada(4))
CURSOPYTHON
NIVELINICIAL
[Link]
informes@[Link]
[Link](Usareditordetexto)
Paraasignarvalorespordefectoalosparametros:
defmi_raizcuadrada(pNumero=9):
...return(pNumero*pNumero)
printmi_raizcuadrada(4)
printmi_raizcuadrada()
CURSOPYTHON
NIVELINICIAL
[Link]
informes@[Link]
[Link](Usareditordetexto)
defmi_funcion(mi_parametro):
...sentencias
Ejemplo:
defmi_raizcuadrada(pNumero):
...return(pNumero*pNumero)
printmi_raizcuadrada(4)
printmi_raizcuadrada(mi_raizcuadrada(4))
CURSOPYTHON
NIVELINICIAL
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link](Usareditordetexto)
Esposibleinvocarsolociertosparmetrosdeunafuncin
defmifuncion(a=1,b=2):
...returna+b
printmifuncion(2,3)
printmifuncion()
printmifuncion(b=3)
Perosilosvaloresnoinvocadosexplcitamentenotienevalorpordefecto
elPythondevolverunerror.
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link](Usareditordetexto)
Esposiblepasarmasparmetrosdelosesperadosqueserecibenenuna
listaoenundiccionario
defmifuncion(parametro,*arguments,**keywords):
printparametro
forparametrosadicionalesinarguments:
printvalor:+parametrosadicionales
forindiceinkeywords:
printindice:+indice
printvalor:+keywords[indice]
return
mifuncion('a','b','c','d',uno='uno',dos=2,tres='tres')
OjOnosepuedeusardeindiceunnmero
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link](Usareditordetexto)
Lasfuncionespuedentenerfuncionesanidadas
defanidado1(argumento1):
...defanidado2(argumento2):
......returnargumento1+argumento2
...returnanidado2
...
f=anidado1(5)<enestemomentonooperanada,sologenerauna
f(3)funcinenmemoria
f(4)
d=anidado2(6)<estodaerror
printanidado1(5)<estodaunmensajedesistema
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link](Usareditordetexto)
Losparmetrosenlafuncinsoloestnactivosdentrodelamisma
funcin,lodeclaradofueradelafuncinpuedeserinvocadocomo
globalymodificadosifueranecesario.
A=6
defvalor():
..globalA
..printelvalores:+str(A)
..A+=10
..return
valor()
printelvalores:+str(A)
[Link]
informes@[Link]
[Link](Usareditordetexto)
Lasfuncionespuedensimularretornarvariosvalores
defmifuncion(a,b):
returna*2,b*3
c,d=mifuncion(4,5)
printc
printd
CURSOPYTHON
NIVELINICIAL
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link](Usareditordetexto)
Losparmetrosvistoshastaelmomentosonporreferencia,solo
algunostiposdedatospuedenserpasadosporvalor,porejemploel
integeroelfloatsoninmutables,perolaslistasno.
defmifuncion(inmutable,mutable):
inmutable=inmutable+1
[Link](inmutable)
a=15
b=[15]
mifuncion(a,b)
printa
printb
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
EnsuformamasbsicapodemosdeclararclasesenPythondeesta
forma:
classMiClase:
...atributo1=123
...atributo2='abc'
...defmetodo1(self):
......printatributo:+str(self.atributo1)++self.atributo2
obj=MiClase()
obj.metodo1()
selfesunapalabrareservadayesunequivalenteathisenotros
lenguajes.
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
EnsuformamasbsicapodemosdeclararclasesenPythondeesta
forma:
classMiClase:
...atributo1=123
...atributo2='abc'
...defmetodo2(self,valor):
......printatributo1+valor
obj=MiClase()
obj.metodo2(4)
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Constructordeclasesusar__init__
classMiClase2:
...atributo1=12
...atributo3=[1,'b',3]
...def__init__(self,parametro1,parametro2):<selfsedebedeclararen
......ifparametro1<>None:todoslosmtodos
.........self.atributo1=parametro1
......self.atributo2=parametro2
obj=MiClase2(None,2)
printobj.atributo1
printobj.atributo2
printobj.atributo3
obj2=MiClase2(44,2)
printobj2.atributo1
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Paraalgunoscasosespecialespodemosdesearconvertirunobjeto
enteroaunacadenadecaracteres,estosehacercon__str__
classMiClase:
...def__str__(self)
......returnmeconvertiencadena
obj=MiClase()
printobj
Tambinesposibleimplementarelmtodo__repr__paraobtenerun
efectosimilarperoconuntextoformateado.
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
LosobjetosenPythonpermitencrearmasatributosdelosdefinidosenla
clase,demaneraindiscriminadalastimosamente:
obj=MiClase()
[Link]=1
[Link]
Sinembargopodemossetearqueestonosucedaconelmtodo
__setattr__
classmiClase:
...atributo1=123
...def__setattr__(self,nombre,valor):
......printnomepuedescambiar,elparametroanadidoes:+nombre+yelvalores:+repr(valor)
obj=miClase()
[Link]=1
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Paraelcasodequedeseemosadvertirsobreelhacergetaunatributo
quenoexisteusamoselmtodo__getattr__
classmiClase5:
...atributo1=123
...def__getattr__(self,name):
......print"losiento,noexisteatributo:"+name
obj=miClase5()
printvalor:+obj.atributo12
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Paraborraratributosaadidosalobjetosusardel:
classmiClase5:
...atributo1=123
...def__getattr__(self,name):
......print"losientonoexistetributo:"+name
obj=miClase5()
obj.atributo12=1234
print"voyaborrarelatributoconelvalor:"+str(obj.atributo12)
delobj.atributo12
x=obj.atributo12
[Link]
informes@[Link]
[Link]
Paraevitarqueseborrenatributosaadidosalobjeto
classmiClase5:
...atributo1=123
..def__delattr__(self,name):
......print"nosepuedeborraratributo:"+name
obj=miClase5()
obj.atributo12=1
print"voyaborrar:"+str(obj.atributo12)
delobj.atributo12
printsigoaqui:+str(obj.atributo12)
CURSOPYTHON
NIVELINICIAL
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Paradeclararsetygetalosatributossedebeoperarcomoeneste
ejemplo.
classmiClase6(object):
...def__init__(self):
......self.__valor=12<aquacabodedeclararunatributo
...defgetValor(self):privadoalusar__delantedelnombre
......print"Leyendonumerodelget"
.....returnself.__valor
...defsetValor(self,valor):
......print"Grabandoelvalorenelset"
......self.__valor=valor
...valor=property(getValor,setValor)
obj=miClase6()
[Link]
[Link]=8
[Link]
printobj__valor<vaadarunerror
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Herencia,paradeclararlahayquedecirquelaclaseimplementaotraclase.
classUno:
...numero1=1
...defimprime1(self):
......print"estoyenlaclase1"
classDos(Uno):
...numero2=2
...defimprime2(self):
......print"estoyenlaclase2"
......Uno.imprime1(self)
...defimprime3(self):
......print"estoyenlaclase2,noinvoconadadelaclase1"
a=Dos()
a.imprime2()
a.imprime1()
a.imprime3()
printa.numero1
printa.numero2
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
ParaconectarsealasbasesdedatosPythonutilizadiversaslibreras
especializadasparaello,escomnqueinclusoparaunamismabasededatos
existamasdeunaalternativadelibreracomoenelcasodeMySQL.
Usaremosenestasdistribucionesdesderepositorios:
centOS:MySQLpython
Ubuntu:pythonmysqldb
[Link]
centOS:postgresqlpython
Ubuntu:pythonpgsql
[Link]
Enamboscasossonlasmismasperosellamandiferentelospaquetes
dependiendoladistribucindeLinuxqueseuse
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
MySQL
importMySQLdb
try:
dbMY=[Link](host='localhost',user='root',passwd='clave',db='operador')
[Link]:
printLaclaseMySQLdbencontrounerror
except:
printnomepudeconectaraladb,errordesconocido
MySQLdbincluyesupropioexcept.
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
MySQL
importMySQLdb
try:
dbMY=[Link](host='localhost',user='root',passwd='clave',db='operador')
[Link],error:
printerrorexacto:
printerror
except:
printnomepudeconectaraladb,errordesconocido
enestecasoerroresunalistade2elementosconelerrorexacto,elnmeroyel
mensaje
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
MySQL
importMySQLdb
dbMY=[Link](host='localhost',user='root',passwd='clave',db='operador')
qry=select*fromagentes
cursor=[Link]()<antesdeejecutarunqueryesnecesariodeclararuncursor
[Link](qry)
printcursor<estosolonosdevuelveladireccindememoriadelcursos
setdata=[Link]()<bajamosladatadelcursorauncontenedordelosdatos,
esunalistadelistas
printsetdata
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
MySQL
importMySQLdb
dbMY=[Link](host='localhost',user='root',passwd='clave',db='operador')
qry=select*fromagentes
cursor=[Link]()
[Link](qry)
setdata=[Link]()
forregistroinsetdata:<aspodemosobtenerladata
forcampoinregistro:
printcampo
print***************finregistro***************
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
MySQL
importMySQLdb
dbMY=[Link](host='localhost',user='root',passwd='clave',db='operador')
qry=select*fromagentesXXXYYY
cursor=[Link]()
try:
[Link](qry)
[Link],error:
printerrorexacto:
printerror
except:
printerrordesconocidoenelquery
setdata=[Link]()<sisedaunerrorestodarotro
forregistroinsetdata:error
forcampoinregistro:
printcampo
print***************finregistro***************
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
MySQL
importMySQLdb
dbMY=[Link](host='localhost',user='root',passwd='clave',db='operador')
qry=select*fromagentesXXXYYY
cursor=[Link]()
try:
[Link](qry)
setdata=[Link]()otro<ponerloaquesunamanera
forregistroinsetdata:deresolverelproblema
forcampoinregistro:
printcampo
print***************finregistro***************
[Link],error:
printerrorexacto:
printerror
except:
printerrordesconocidoenelquery
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
MySQL
importMySQLdb
dbMY=[Link](host='localhost',user='root',passwd='clave',db='operador')
qry=select*fromagentes
cursor=[Link]()
rows=[Link](qry)<estodevuelvelacantidadderegistros
printexisten%dregistros%rows
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
MySQL
importMySQLdb
dbMY=[Link](host='localhost',user='root',passwd='clave',db='operador')
qry=select*fromagentes
cursor=[Link]()
rows=[Link](qry)
forainrange(1,rows):
c=[Link]()<aspodemospedirlosregistros
printcunoporuno
printFinregistro%d************************%a
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
MySQL
importMySQLdb
dbMY=[Link](host='localhost',user='root',passwd='clave',db='operador')
qry=select*fromagentes
cursor=[Link]()
rows=[Link](qry)
[Link]()<cerramoselcursor,liberamosmemoria
[Link]()<cerramoslaconexinaladb,nuncadejardehacerlo.
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
PostgreSQL
importpg
try:
dbPG=[Link](dbname='oeprador',user='usuario',passwd='clave',host='localhost')
exceptTypeError,error:
print"argumentosmalpasado,odemasiado"
printerror
exceptSyntaxError,error:
print"argumentoduplicado"
printerror
[Link],error:
print"seconectoalmotorperoesterespondenegativoalaconexion"
printerror
EnelcasodelalibreradePostgreSQLlamayoradelosmtodosdelobjetoincluyensus
propiasexcepciones,porellosehacenecesarioconsultarladocumentacin,elparmetro
errorestarecibiendoelmensajeespecificodelerror.
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
PostgreSQL
importpg
dbPG=[Link](dbname='oeprador',user='usuario',passwd='clave',host='localhost')
qry="insertintotablavalues(1,2,3)"
try:
resultado=[Link](qry)
exceptTypeError,error:
print"Querymalformado"
printerror
[Link],error:
printErrorproducidoporladataensiynodeformaciondequery
printerror
Existeademas:
ValueError: emptySQLqueryorlostconnection
[Link]:errorduringqueryprocessing
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
PostgreSQL
importpg
dbPG=[Link](dbname='oeprador',user='usuario',passwd='clave',host='localhost')
qry="select*fromtabla"
resultado=[Link](qry)
setdata=[Link]()<estoretornaladatacomounatupla
printsetdata
print**************************
setdata2=[Link]()<estoretornaladatacomoundiccionario
printsetdata
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
PostgreSQL
importpg
dbPG=[Link](dbname='oeprador',user='usuario',passwd='clave',host='localhost')
qry="select*fromtabla"
resultado=[Link](qry)
setdata=[Link]()
forcinsetdata:
fordinc:
printd+":"+str(c[d])
print"**********finregistro"
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
PostgreSQL
Algunascosasinteresantes.
qry="select*fromtabla"
resultado=[Link](qry)
[Link]()<devuelvelosnombresdeloscamposdelaconsulta
[Link]()<cantidadderegistrosquedevolvilaconsulta
[Link]()<nuncaolvidarcerrarlaconexin
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
LalibreradesistemaoperativonospermiteinteractuarentreelPythony
elOSdirectamente.
PodemosmandarcomandosdeconsolacompletosalOS.
importos
[Link]('ls')
Lasalidadelcomandolapodemosverenlaconsolaalejecutarelscript
peronopodemoscapturarla.
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
[Link]()<retornaenquedirectorioestoy
[Link]('/var/log')<semueveaotrodirectorio
DesdelaconsolaPythonpodemosutilizar2comandosmuyimportantesparaver
lasfuncionesquenosofrecelalibrera:
>>>dir(os)<muestralosmtodosdelalibrera
>>>help(os)<esunaayudaenlineadelalibrera
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Lalibreradetiemponospermitetrabajarconfechasyhoras,parausarla:
importtime
[Link]()<devuelveunacadenaconlafechayhora.
[Link]()<sinparmetrodevuelvelafechaactualencadena.
[Link](12345)<especificandounacantidaddesegundosdevuelvela
fechatranscurridadesdeeltiempolocaldel31dicde
1969.
[Link]()<devuelvelafechayhoraactualenformatonumrico
enunalista.
[Link](60)<suspendelaejecucindeuncdigoduranteelnmero
desegundosespecificado.
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Lalibreradetiemponospermitetrabajarconfechasyhoras,parausarla:
importtime
x=[Link]('20090809','%Y%m%M')<transformaunacadenaafecha(en
printxunalista).
x=[Link]('%Y%m%M',x)<transformaunafechaacadenaen
printxelformatoespecificado.
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Lalibreradetiemponospermitetrabajarconfechasyhoras,parausarla:
importtime
segundosX=0
#obtienelahoraactualensegundos
segundos=int([Link]())
print"horaactual:"+[Link](segundos)
segundosX=segundos+60
suma=[Link](segundosX)
print"mas1minuto:"+suma
segundosX=segundos+3600
suma=[Link](segundosX)
print"mas1hora:"+suma
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Existeunalibreraalternaqueesladatetime,estanosayudaenoperacionescon
fechas.
fromdatetimeimportdate
fecha1=[Link]()<devuelveeldaactual
fecha2=date(2009,12,4)<transformaunYYYY,MM,DDenenterosafecha
x=fecha2fecha1<laoperacinentrefechasdevuelveuntipodedato
printxtimedelta,OjOnopodemossumarfecha.
[Link]
[Link]
[Link]
Sololos3tiposderesultadossonalmacenados,paraconvertirahoraominutos
hayqueoperarconlosdaysolosseconds
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Pararestarosumardas:
fromdatetimeimportdate
fromdatetimeimportdatetime
hoy=[Link]()
nuevafecha=hoy+timedelta(365)<especificamoslosdias
printnuevafecha
nuevafecha=hoytimedelta(365)
printnuevafecha
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Creandotupropialibrera
[Link]
[Link]
Escribirenestearchivolasfuncionesquesedeseanprogramar
defsuma(a,b):
returna+b
Enelarchivoconelcdigoquesedeseaimportarcolocar
importmate<debetenerelmismonombredelarchivofsico
[Link](8,4)<especificarelnombredelalibreradelantedela
funcin
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Creandotupropialibrera
Lalibrerapuedetenerincluidasclases([Link])
classclsMate:
X=0
Y=0
defdivide(self)
returnX/Y
Enelarchivoconelcdigoquesedeseaimportarcolocar
obj=[Link]()
obj.X=10
obj.Y=5
[Link]()
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Creandotupropialibrera
Sepuedenimportarsolociertasfuncionesoclasesdelalibrera
frommateimportsuma,clsMate
printsuma(5,7)<enestecasoyanoesnecesariohacerprecisindela
obj=clsMate()librera
obj.X=10
obj.Y=5
[Link]()
[Link](6,9)<estodaerrorporquenoseimporto
printmultiplica(6,9)<estodaerrorporquenoseimporto
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
Pasandoparmetrosentrescripts
[Link]
delasiguientemanera*crearunarchivollamado([Link]):
importsys
if(len([Link])>1):
[Link]
[Link]:
printc
Enlaconsolaescribir:
pythonparametro.pyparametro12,tres'cuatro4'
[Link]
informes@[Link]
CURSOPYTHON
NIVELINICIAL
[Link]
EjecutandodirectamenteunscriptenPython
ParapoderlograrqueLinuxreconozcadirectamentequedebeusarelinterpretede
Pythonennuestrosscriptsesnecesarioaadirlossiguienteensusscripts:
#!/usr/bin/python
printholamundo
[Link]:
[Link]
paraejecutarloenelmismodirectorio:
./[Link]