|
x = 1
x = 'texto' # isto é posible porque as variables son dinámicamente tipadas
Os tipos de datos pódense resumir nesta táboa:
| Tipo |
Clase |
Notas |
Exemplo |
| str |
String |
Inmutable |
'Wikipedia' |
| unicode |
String |
Versión Unicode de code <>str |
ou'Wikipedia' |
| list |
Secuencia |
Mutable, pode conter diversos tipos |
[4.0, 'string', True] |
| tuple |
Secuencia |
Immutable |
(4.0, 'string', True) |
| set |
Conxunto |
Mutable, sen orde, non contén duplicados |
set([4.0, 'string', True]) |
| frozenset |
Conxunto |
Inmutable, sen orde, non contén duplicados |
frozenset([4.0, 'string', True]) |
| dict |
Mapping |
Grupo de pares claves, valor |
{'key1': 1.0, 'key2': False} |
| int |
Número enteiro |
Precisión fixa |
42 |
| long |
Número enteiro |
Precisión arbitraria |
42L ou 456966786151987643L |
| float |
Número |
Coma flotante |
3.1415927 |
- Para declarar unha lista, basta empregar os corchetes([ ]), mentres que para declarar unha tupla débense usar a paréntese ().
- Tanto as listas como as tuplas poden conter elementos de diferentes tipos.
- Para acceder aos elementos dunha lista ou tupla, utilízase un índice enteiro. Pódense utilizar índices negativos para acceder elementos a partir do final do array.
- As listas caracterízanse por ser mutables, é dicir, pódese cambiar o seu contido, mentres que non é posible modificar o contido dunha tupla xa creada, posto que é inmutable.
>> lista = ['aaa', 1, 90]\n>>> lista[-1]\n90\n>>> lista[0] = 'aaa'\n>>> lista[0:2]\n['aaa', 1]\n \n>>> tupla = (1, 2, 3)\n>>> tupla[0] = 2\n ( xera un erro )\n>>> tupla[0]\n1\n>>> otratupla = (tupla, ('a', 'b')) # é posible aniñar tuplas\n"}}'>>>> lista = ['aaa', 1, 90]
>>> lista[-1]
90
>>> lista[0] = 'aaa'
>>> lista[0:2]
['aaa', 1]
>>> tupla = (1, 2, 3)
>>> tupla[0] = 2
( xera un erro )
>>> tupla[0]
1
>>> otratupla = (tupla, ('a', 'b')) # é posible aniñar tuplas
Os dicionarios decláranse entre chaves ({}), a que pode conter pares de valores separados por dous puntos (:).
Neste exemplo, percórrese a estrutura de dicionario, e imprímese o seu contido da forma clave=valor
>> dict = {\"dia\": 24, \"mes\": \"agosto\"}\n>>> for k in dict:\n... print(\"%s=%s\" % (k, dict[k]))\n \ndia=24\nmes=agosto\n"}}'>>>> dict = {"dia": 24, "mes": "agosto"}
>>> for k in dict:
... print("%s=%s" % (k, dict[k]))
dia=24
mes=agosto
Os conxuntos decláranse mediante a instrución set. Os sets non permiten ter elementos repetidos.
>> conj = set(['a','b','a'])\n>>> print(conj)\nset('a','b')\n"}}'>>>> conj = set(['a','b','a'])
>>> print(conj)
set('a','b')
As funcións defínense coa palabra chave def, seguida do nome da función e os seus parámetros. Outra forma de crear funcións, aínda que máis limitada, é coa palabra chave lambda (que aparece en linguaxes funcionais como Lisp).
>> f = lambda x: x+2\n>>> f(4)\n6\n"}}'>>>> f = lambda x: x+2
>>> f(4)
6
En Python, todo é un obxecto (ata as clases). As clases, ao ser obxectos, son instancias dunha metaclase. Python ademais soporta herdanza múltiple e polimorfismo.
Python vén con baterías "incluídas"
Python ten unha gran librería estándar, usada para unha diversidade de tarefas. Isto vén da filosofía "baterías incluídas" ("batteries included") para módulos de Python. Os módulos da biblioteca estándar poden ser mellorados por módulos personalizados escritos tanto en C ou en Python. Debido á gran variedade de ferramentas incluídas na biblioteca estándar combinada coa habilidade de usar linguaxes de baixo nivel como C e C++, os cales son capaces de interactuar con outras bibliotecas, Python é unha linguaxe que combina a súa clara sintaxe co inmenso poder de linguaxes menos elegantes.
Python soporta e usa intensamente o manexo de excepcións en execución (incluso é posible tratar a excepción de "erro sintáctico").
Python posúe diversas postas en funcionamento:
- CPython é a posta en funcionamento orixinal, dispoñible para varias plataformas no sitio oficial de Python.
- IronPython é a posta en funcionamento para .NET
- Stackless Python é a variante de CPython que trata de non usar o stack de C
- Jython é a posta en funcionamento feita en Java
- Pippy é a posta en funcionamento realizada para Palm
- PyPy é Python totalmente escrito en Python
Python posúe unha licenza de código aberto, denominada Python Software Foundation License, que é compatible coa licenza GPL. Esta licenza non obriga a liberar o código fonte ao distribuír os arquivos binarios.
Debido á súa potencia, a ser orientado a obxectos, así como á gran cantidade de librarías que trae incluídas (como por exemplo librarías gráficas), é unha linguaxe multi-propósito, tanto para scripting como para aplicacións máis serias.
A modo de exemplo, Google usa Python para multitude de tarefas, incluíndo os backends de aplicacions web tales como Gmail.
Fundamentalmente, debido á capacidade de orientación a obxectos, ten unha vantaxe considerable fronte a linguaxes de propósito similar, tal como TCL.
|