Tipos de Dados
Autor: Tiago | Publicado: 2009-07-03T10:41:00-07:00

<!--[if gte mso 9]>     Normal   0         21         false   false   false      PT-BR   X-NONE   X-NONE                                                                                                     <![endif]--><!--[if gte mso 9]>                                                                                                                                                                                                                                                                                                                                                                                                                                <![endif]--> <!--  /* Font Definitions */  @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1107304683 0 0 159 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:0; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073750139 0 0 159 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} a:link, span.MsoHyperlink 	{mso-style-priority:99; 	color:blue; 	text-decoration:underline; 	text-underline:single;} a:visited, span.MsoHyperlinkFollowed 	{mso-style-noshow:yes; 	mso-style-priority:99; 	color:purple; 	mso-themecolor:followedhyperlink; 	text-decoration:underline; 	text-underline:single;} p 	{mso-style-priority:99; 	mso-margin-top-alt:auto; 	margin-right:0cm; 	mso-margin-bottom-alt:auto; 	margin-left:0cm; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman","serif"; 	mso-fareast-font-family:"Times New Roman";} code 	{mso-style-noshow:yes; 	mso-style-priority:99; 	font-family:"Courier New"; 	mso-ascii-font-family:"Courier New"; 	mso-fareast-font-family:"Times New Roman"; 	mso-hansi-font-family:"Courier New"; 	mso-bidi-font-family:"Courier New";} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-fareast-font-family:Calibri; 	mso-fareast-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:minor-bidi; 	mso-fareast-language:EN-US;} .MsoPapDefault 	{mso-style-type:export-only; 	margin-bottom:10.0pt; 	line-height:115%;} @page Section1 	{size:612.0pt 792.0pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --> <!--[if gte mso 10]>   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tabela normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin-top:0cm; 	mso-para-margin-right:0cm; 	mso-para-margin-bottom:10.0pt; 	mso-para-margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-fareast-language:EN-US;} table.MsoTableGrid 	{mso-style-name:"Tabela com grade"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-priority:59; 	mso-style-unhide:no; 	border:solid black 1.0pt; 	mso-border-themecolor:text1; 	mso-border-alt:solid black .5pt; 	mso-border-themecolor:text1; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-border-insideh:.5pt solid black; 	mso-border-insideh-themecolor:text1; 	mso-border-insidev:.5pt solid black; 	mso-border-insidev-themecolor:text1; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-ascii-font-family:Calibri; 	mso-ascii-theme-font:minor-latin; 	mso-hansi-font-family:Calibri; 	mso-hansi-theme-font:minor-latin; 	mso-fareast-language:EN-US;}  <![endif]-->  A tipagem de Python é forte, pois os valores e objetos têm tipos bem definidos e não sofrem coerções. Existem diversos tipos de dados, são eles:          Tipo de dado         Descrição         Exemplo da sintaxe             str         Uma cadeia de   caracteres         “Olá”             list         Lista   heterogênea         [4.0, 'string', True]             tuple         Tupla         (4.0, 'string', True)             int         Número de precisão fixa                       float         Ponto flutuante         3.1415927             bool         Booleano         True ou False           Python também permite a definição dos tipos de dados próprios, através de classes. Instâncias são construídas invocando a classe (FooClass()), e as classes são instância da classe type, o que permite metaprogramação e reflexão. Métodos são definidos como funções anexadas à classe, e a sintaxe instância.método(argumento) é um atalho para Classe.método(instância, argumento). Os métodos devem referenciar explicitamente a referência para o objeto sob forma de um dos argumentos, o parâmetro self.  Manipulação de Strings  O jeito mais básico de manipular strings é através de métodos que estão dentro delas (strings). Podemos fazer um limitado número de tarefas em strings através desses métodos. Abra sua Python Shell e vamos criar uma string e brincar um pouco com elas.   >>> test = 'This is just a simple string.'   Vamos dar uma volta rápida e usar a função len. Ela pode ser usada para encontrar o tamanho de uma string contando espacos e caracteres especiais, ou seja, tudo que pertencer a essa string.   >>> len(test)  29  Beleza, agora vamos voltar aos métodos que eu estava falando.Vamos pegar nossa string e substituir uma palavra usando o método replace.   >>> test = test.replace('simple', 'short')  >>> test  'This is just a short string.'  Agora vamos contar o numero de vezes que a palavra especificada aparece na string, nesse caso estou apenas procurando por um caracter 'r'.   >>> test.count('r')  2  Separar uma string é uma coisa que eu frequentemente faço.O método split é usado para isso.   >>> test.split()  ['This', 'is', 'just', 'a', 'short', 'string.']  Podemos escolher o ponto a ser separado.   >>> test.split('a')  ['This is just ', ' short string.']  Para juntar nossa string separada, podemos usar o método join.   >>> ' some '.join(test.split('a'))  'This is just  some  short string.'  Podemos brincar com a caixa das letras (maiúsculo ou minúsculo). Vamos deixar tudo maiúsculo.   >>> test.upper()  'THIS IS JUST A SHORT STRING.'  Agora vamos deixar tudo minúsculo.   >>> test.lower()  'this is just a short string.'  Vamos deixar apenas a primeira letra maiúscula de uma string minúscula.   >>> test.lower().capitalize()  'This is just a short string.'  Podemos usar o método title, que deixa as letras de cada palavra da string maiúscula.   >>> test.title()  'This Is Just A Short String.'  Uma troca também é possível.O que for maiúsculo vira minúsculo e vice-versa.   >>> test.swapcase()  'tHIS IS JUST A SHORT STRING.'