Estructuras de control de Python (con ejemplos)
Bucles
A diferencia de C y ST, for
los bucles en Python no cuentan las variables de bucle, sino que iteran sobre una secuencia. Este tipo de secuencia puede ser un "diccionario", una lista, una tupla, los caracteres de una cadena o las líneas de un archivo.
El siguiente ejemplo muestra algunos for
bucles:
from __future__ import print_function print("Enumerating over a simple list:") for i in (1,2,3,4): print(i, end=", ") # end= replaces the newline with ", " print() # but we still need a newline at the end of this case. print("Enumerating over the characters in a string:") for i in "CODESYS": # characters are representet as strings of length 1. print(i, end=", ") print() print("Enumerating over the integers 1 to 4:") for i in range(1, 5): # upper bound is exclusive. print(i, end=", ") print() print("Enumerating using xrange:") for i in xrange(5): # xrange is similar to range, but needs less memory for large ranges. print(i, end=", ") print() print("Enumerating including the item number:") for i, v in enumerate("CODESYS"): print(i, v)
Salida resultante:

Si necesita un índice o un número además del artículo, debe usar enumerate
como se muestra en el último caso del script de muestra. El siguiente código se considera de estilo deficiente:
text = "CODESYS" for i in range(len(text)): # BAD STYLE! v = text[i] # DON'T TRY THIS AT HOME! print(i, v)
además for
bucles, Python también tiene while
bucles que son muy similares a los de C y ST:
i = 0 while i < 3; print(i) i += 1
Nota: Este ejemplo no es muy práctico. Es más probable que use un for
bucle con un rango.
SI / DE LO CONTRARIO
El if/else
construct es similar a los de otros lenguajes de programación. Aquí hay un breve ejemplo:
from __future__ import print_function i = int(system.ui.query_string("Please enter an integral number...")) if i < 0: print("Your number was negative.") elif i > 0: print("Your numer was positive.") else: print("It seems your number was zero.")
El else
La rama es opcional y puede haber cero, uno o muchos. elif
sucursales.
Funciones, clases y métodos.
Python permite definir funciones y clases con métodos. Una clase con métodos es básicamente similar a un bloque de funciones en ST, o clases en lenguajes como C++, Java o C#. Sin embargo, Python no admite interfaces.
Para obtener información detallada, consulte la documentación de Python para definir Funciones y Clases.
#defining a function with name sum and two parameters a and b: def sum(a, b): return a + b # we return the sum of a and b. # we can now call the function defined above: print(sum(5,7)) # Now we define a class Foo: class Foo: # The class gets a method "bar". # Note: for methods, the first parameter is always "self" and # points to the current instance. This is similar to "this" in # ST and other languages. def bar(self, a, b): print("bar(%s,%s)" % (a,b)) # We create an instance of the class: f = Foo() # We call the method bar on the instance. f.bar("some", "params")
Módulos y bibliotecas estándar
En IEC, puede importar bibliotecas para que las reutilice otro código escrito. Como colgante, existe la posibilidad en Python de importar módulos.
El Biblioteca estándar de Python contiene muchos módulos para diferentes propósitos, tales como:
Procesamiento de cadenas
Manejo de fecha y hora
Colecciones
enhebrar
Funciones matematicas
Manejo de archivos
Persistencia
Compresión y archivo
Acceso a la base de datos
Servicios de cifrado
Red y acceso a Internet
Envío de correos electrónicos
Para crear sus propios módulos, escriba un archivo de Python que defina las funciones y clases que desea proporcionar. Guarde este archivo en el mismo directorio que nuestro script de muestra. Si nombra el archivo mymodule.py
, entonces puedes importarlo con import mymodule
.
Aquí hay un ejemplo de cómo importar y usar la función coseno y la constante pi de la math
módulo:
from math import cos, pi print(pi) # prints 3.14159265359 print(cos(pi)) # prints -1.0
A continuación, se incluyen más ejemplos que acceden a información sobre el sistema operativo, la versión de Python y el intérprete:
import os print(os.environ["OS"]) from sys import platform, version, executable print(platform) print(version) print(executable)

Hay un módulo especial. __future__
para activar nuevas funciones de idioma. Sobre todo, se utiliza cuando los desarrolladores de Python introducen nuevas funcionalidades que son compatibles con versiones anteriores. Este tipo de funcionalidades deben activarse con especial "__future__
importaciones". Un ejemplo que usamos en la mayoría de nuestros scripts de muestra aquí es la activación de la nueva sintaxis de energía de print
como una función en lugar de una declaración.
# make print() a function instead of a statement from __future__ import print_function
La documentación de Python proporciona una completa lista de todos __future__
importaciones.
Además de los módulos normales de Python, el código IronPython también puede acceder a ensamblados .NET como si fueran módulos de Python. Esto abre el acceso a la Biblioteca de clases de .NET Framework y bibliotecas de terceros. Aquí hay un ejemplo de cómo abrir un diálogo por medio del Windows Forms
Biblioteca:
import clr clr.AddReference("System.Windows.Forms") from System.Windows.Forms import MessageBox MessageBox.Show("Hello")