Está en la página 1de 26

http://mastersig.

net/
Programación GIS con Python informes@mastersig.net
1
1-VARIABLES
Una variable es un espacio para almacenar datos modificables en la memoria
de un ordenador. En Python, una variable se define con la siguiente sintaxis:

nombre_de_la_variable = valor_de_la_variable

Obs 1: Tipado dinámico

• C++ int buzones = 15

• Python buzones = 15

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
2
Obs 2: Propuesta de mejora de Python - Python Enhancement Proposal (PEP)
https://www.python.org/dev/peps/

Encontraremos todas las sugerencias y reglas para llevar a cabo un buena


programación.

Éste documento nos indica que, para las variables modificables debemos:
• Utilizar nombres descriptivos y en minúsculas.
• Para nombres compuestos, separar las palabras por guiones bajos.
• Antes y después del signo =, debe haber uno espacio en blanco.

mi_variable = 12

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
3
Existe un tipo de variable, denominada constante, la cual se utiliza para definir
valores fijos, que no requieran ser modificados.

La PEP nos recomienda utilizar nombres descriptivos y en mayúsculas


separando palabras por guiones bajos. Ejemplo:

MI_CONSTANTE = 12

Para imprimir un valor en pantalla, se utiliza la palabra clave print:

mi_variable = 15

print mi_variable

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
4
2-TIPOS DE DATOS
Una variable (o constante) puede contener valores de diversos tipos. Entre
ellos:

a) Cadena de texto (string)


Puede ser escrita entre comillas dobles o simples.

mi_cadena = "Hola Mundo“

buffer = ‘Usada para representar “áreas de influencia” de elementos’

mi_cadena_multilinea = """Esta es una cadena de varias líneas, se


escribe dentro de comillas triples"""

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
5
• Rutas: También se pueden usar las cadenas para definir rutas, por ejemplo:

shp_manzanas = "c:/Data/Manzanas.shp"

shp_manzanas = "c:\\Data\\Manzanas.shp"

shp_manzanas = r"c:\Data\Manzanas.shp"

Hay que tener especial cuidado con las rutas y los separadores de ruta \ ó \\ ó
/

r: retorno, nos permite leer toda la ruta

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
6
• Manipulación de Cadenas: Podemos acceder a cualquier carácter de una
cadena mediante la acción denominada indexación, por ejemplo:

shp_vial = “panamericana.shp”

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
p a n a m e r i c a n a . s h p

Print shp_vial[0:7] resultado: panameri

Print shp_vial[1: ] resultado: anamericana.shp

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
7
b) Número Entero
puerta = 25
temperatura = -5
calificacion = 0

c) Número Real
longitud = 1258.35
valor = 0.1e-3

d) Booleano
verdadero = True
falso = False

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
8
3-OPERADORES
Símbolo Significado Ejemplo Resultado

Suma a = 10 + 5
+ 15

Resta a = 12 - 7
- 5

Negación a = -5
- -5

Multiplicación a=7*5
* 35

Exponente a = 2 ** 3
** 8

División a = 12.5 / 2
/ 6.25

División entera a = 12.5 / 2 6.0


//
Módulo a = 27 % 4 3
%

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
9
Ejemplos con variables y operadores aritméticos:

area_mz = 5000
area_predio = 130.0
porcentaje_predio = area_predio/area_mz*100

También podemos utilizar el operador + para manipular las cadenas mediante la


concatenación, por ejemplo:

nombre_via = “Jr. Miguel Grau”


numero_lote = 25
nombre_propietario = “Juan Valdez”
print “El señor”+” “+nombre_propietario+” “+ “vive en”+” “+nombre_via+” “+str(numero_lote)

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
10
4-COMENTARIOS
Un archivo, no solo puede contener código fuente. También puede incluir
comentarios (notas que como programadores, indicamos en el código para
poder comprenderlo mejor).

# Esto es un comentario de una sola línea

""“Los comentarios de varias líneas


van entre comillas triples"""

mi_variable = 15 # Este comentario es de una línea también

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
11
5-COLECCIÓN DE DATOS

Ya hemos visto algunos tipos de datos, como las cadenas y números. Ahora
veremos otros tipos de datos que permiten almacenar colecciones de datos de
diversos tipos y se diferencian por su sintaxis y por la forma en la cual los datos
pueden ser manipulados.

• Tuplas
• Listas
• Diccionarios

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
12
a) Tuplas
Una tupla es una variable que permite almacenar varios datos inmutables (no
pueden ser modificados una vez creados).

mi_tupla = ('parcelas', 15, 2.8, 'predio', 25)

Se puede acceder a cada uno de los datos mediante su índice correspondiente,


siendo 0 (cero), el índice del primer elemento:

mi_tupla[1] # Salida: 15

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
13
También se puede acceder a una porción de la tupla, indicando (opcionalmente)
desde el índice de inicio hasta el índice de fin:

print mi_tupla[1:4] # Devuelve: 15, 2.8, predio


print mi_tupla[3:] # Devuelve: predio, 25

Otra forma de acceder a la tupla de forma inversa (de atrás hacia adelante), es
colocando un índice negativo:
print mi_tupla[-1] # Salida: 25
print mi_tupla[-2] # Salida: predio

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
14
b) Listas
Una lista es similar a una tupla con la diferencia fundamental de que permite
modificar los datos una vez creados:

mi_lista = ['semaforo', 15, 2.8, 'poste', 25]

print mi_lista[1] # Salida: 15


print mi_lista[1:4] # Devuelve: [15, 2.8, ‘poste']
print mi_lista[-2] # Salida: poste

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
15
• Modificar Listas
mi_lista[2] = 3.8 # el tercer elemento ahora es 3.8

• (métodos)
Las listas, a diferencia de las tuplas, tienen una serie de métodos o rutinas que
no son mas que sentencias para llevar a cabo una acción. Gracias a ello nos
permite por ejemplo:

o Agregar un nuevo valor (append)


o Agregar varios valores (extend)
o Insertar un valor en la posición que indiquemos (insert)

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
16
c) Diccionarios
Mientras que a las listas y tuplas se accede solo y únicamente por un número
de índice, los diccionarios permiten utilizar una clave para declarar y acceder a
un valor. El contenido siempre se escribe entre llaves:

servicios = {'1': 'agua', '2': 'luz', '3': 'telefono'}


print servicios['2'] # Salida: luz

Un diccionario permite eliminar cualquier entrada:


del(servicios['2'])

Al igual que las listas, el diccionario permite modificar los valores


servicios['1'] = 'gas'

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
17
Una estructura de control, es un bloque de código que permite agrupar
instrucciones de manera controlada.

 * Identación

 a) Estructuras de control condicionales


(if – elif - else)
 b) Estructuras de control iterativas
(while - for)

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
18
*Identación
Así como para el lenguaje formal, cuando uno redacta una carta, debe respetar
ciertas sangrías, los lenguajes informáticos, requieren una identación.
Una identación de 4 (cuatro) espacios en blanco, indicará que las instrucciones
identadas, forman parte de una misma estructura de control.

inicio de la estructura de control:


expresiones

if semaforo == verde:
print "Cruzar la calle“
else:
print "Esperar"

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
19
a) Condicionales
Son aquellas que nos permiten evaluar si una o más condiciones se cumplen,
para decidir qué acción vamos a ejecutar. Sólo puede arrojar un resultado,
Verdadero o Falso.
Símbolo Significado Ejemplo Resultado

== Igual que 5 == 7 False

!= Distinto que rojo != verde True


Operadores
Relacionales < Menor que 8 < 12 True

> Mayor que 12 > 7 True

<= Menor o igual que 12 <= 12 True

>= Mayor o igual que 4 >= 5 False

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
20
Para evaluar más de una condición simultáneamente, se utilizan los operadores
Lógicos.
Operador Ejemplo Explicación Resultado

and 5 == 7 and 7 < 12 False and False False

and 9 < 12 and 12 > 7 True and True True


Operadores
and 9 < 12 and 12 > 15 True and False False
Lógicos
or 12 == 12 or 15 < 7 True or False True

or 7 > 5 or 9 < 12 True or True True

xor 4 == 4 xor 9 > 3 True o True False

xor 4 == 4 xor 9 < 3 True o False True

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
21
Las estructuras de control de flujo condicionales, se definen mediante el uso
de tres palabras claves reservadas, del lenguaje: if (si), elif (sino, si)
y else (sino).
nombre_capa = "tren"
if nombre_capa == "via":
print "es una via"
else:
print "no es una via"

if nombre_capa == 'via':
arcpy.Buffer_analysis(nombre_capa,"c:\\temp\\ViasBuff.shp“, distancia)
else:
print “No es una vía"

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
22
b) Iterativas
A diferencia de las estructuras de control condicionales, las iterativas (también
llamadas cíclicas o bucles), nos permiten ejecutar un mismo código, de manera
repetida, mientras se cumpla una condición.
En Python se dispone de dos estructuras cíclicas:

• while signigica “mientras que”


• for significa “para”

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
23
While
Este bucle se encarga de ejecutar una misma acción "mientras que" una
determinada condición se cumpla.
lote = 20
while lote <= 30:
print “este es el lote:", str(lote)
lote += 1

En cada iteración, incrementamos el valor de la variable que condiciona el bucle (lote). Si


no lo hiciéramos, esta variable siempre sería igual a 20 y el bucle se ejecutaría de forma
infinita, ya que la condición (lote <= 30) siempre se estaría cumpliendo.

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
24
For
El bucle for, en Python, es aquel que nos permitirá iterar sobre una variable del
tipo lista o tupla:

propietario = ['Juan', 'Antonio', 'Pedro', 'Herminio']


for nombre in propietario:
print nombre

valores = (‘agua', ‘luz', ‘telefono', ‘internet')


for servicios in valores:
print servicios

http://mastersig.net/
Programación GIS con Python informes@mastersig.net
25
Gracias

http://mastersig.net/
ArcGis aplicado al catastro informes@mastersig.net
26

También podría gustarte