domingo, 26 de abril de 2015

Python y sus tipos básicos

Uno de los problemas encontrados al realizar el lado cliente de la comunicación serie es el limitado abanico de tipos de Python.
Esta tabla es muy representativa al respecto:
Type codeC TypePython TypeMinimum size in bytes
'b'signed charint1
'B'unsigned charint1
'u'Py_UNICODEUnicode character2 (see note)
'h'signed shortint2
'H'unsigned shortint2
'i'signed intint2
'I'unsigned intint2
'l'signed longint4
'L'unsigned longint4
'f'floatfloat4
'd'doublefloat8


De cara al uso de streams caben destacar dos peculiaridades:
  * No existe char, es un str (string) de longitud 1.
  * No existe byte, solo int.

Por tanto, cuando leemos de un Stream, se lee y escribe en modo str.

Esta situación nos lleva a una peculiaridad ya que para comparar bytes y visualizar las imágenes necesitamos int (==char), y por tanto un casting.
Pero si luego queremos guardar dichas imágenes es necesario volver a str (==char).

Estas conversiones de tipos se consiguen con ord() y char().

Páginas relevantes:
https://docs.python.org/3.1/library/array.html
http://www.tutorialspoint.com/python/python_variable_types.htm

No hay comentarios:

Publicar un comentario