Skip to content

Commit 1b78d69

Browse files
committed
Mais um update.
1 parent d96b36b commit 1b78d69

File tree

1 file changed

+29
-3
lines changed

1 file changed

+29
-3
lines changed

content/introducao-classes-metodos-python-basico.rst

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@ Eu não sou a melhor pessoa do mundo para explicar este assunto, mas vou tentar
1414

1515
Mais informações sobre classes e métodos podem ser encontradas nos links abaixo. Veja os exemplos em `https://github.com/rg3915/python-classes-metodos <https://github.com/rg3915/python-classes-metodos/tree/master/pythonBasico>`_.
1616

17-
> Este artigo foi atualizado em 23 de Maio de 2018.
17+
> Este artigo foi atualizado em 26 de Maio de 2018.
1818

1919
PS: *Considere a sintaxe para Python 3*.
2020

21-
Segundo a documentação do `Python <https://docs.python.org/3/tutorial/classes.html#class-objects>`_ e o video `Python para Zumbis <https://www.youtube.com/watch?v=Zr_FiKbgRbU>`_, uma **classe** associa dados (**atributos**) e operações (**métodos**) numa só estrutura. Um **objeto é uma instância** de uma classe. Ou seja, uma representação da classe. Por exemplo, Regis é uma instância de uma classe chamada Pessoa, mas a Pessoa é a classe que o representa de uma forma genérica.
21+
Segundo a documentação do `Python <https://docs.python.org/3/tutorial/classes.html#class-objects>`_ e o video `Python para Zumbis <https://www.youtube.com/watch?v=Zr_FiKbgRbU>`_, uma **classe** associa dados (**atributos**) e operações (**métodos**) numa só estrutura. Um **objeto é uma instância** de uma classe. Ou seja, uma representação da classe. Por exemplo, Regis é uma instância de uma classe chamada Pessoa, mas a Pessoa é a classe que o representa de uma forma genérica. Se você criar uma outra classe chamada Fabio, esse objeto também será uma instancia da classe Pessoa.
2222

2323
Na sua sintaxe mais elementar definimos uma classe conforme abaixo:
2424

@@ -55,7 +55,6 @@ Juntando os dois temos:
5555
5656
A primeira pergunta que você vai ter é o porque do ``self`` em ``metodo``. A resposta curta é, todo metodo criado dentro de uma classe deve definir como primeiro parametro o ``self``. Para a resposta longa, por favor, leia a excelente explicação que o Pedro Werneck fez: `O porquê do self explícito em Python <http://archive.is/cX2mq>`_
5757

58-
5958
A segunda pergunta é: para que serve o ``pass``?
6059

6160
A resposta é que, em Python, ao contrario de várias outras liguagens de programação, os blocos de código **NÃO** são definidos com os caracteres ``{`` e ``}``, mas sim com indentação e o caractere ``:``. Devido a esse fato, python necessitava de algo para explicitar quando se quer definir um bloco vazio. O ``pass`` foi criado exatamente para explicitar essa situação.
@@ -75,6 +74,33 @@ Um exemplo de uma função vazia feita em linguagem C e a mesma função vazia f
7574
7675
Importante: Note que para nome de **classes** usamos *PalavrasComeçandoPorMaiúscula* (isso tambem é conhecido como "`CapitalizeWords <http://pep8.org/#descriptive-naming-styles>`_") e para nome de **métodos (funções)** usamos *minúsculas_separadas_por_underscore*. Esta é uma convenção adotada pelos *Pythonistas* segundo o `Guia de Estilo <http://www.python.org.br/wiki/GuiaDeEstilo>`_ **PEP 8** - `Style Guide for Python Code <http://legacy.python.org/dev/peps/pep-0008/>`_ escrito por `Guido Van Rossum <http://www.python.org.br/wiki/GuidoVanRossum>`_.
7776

77+
78+
Exemplo 0 - Pessoa
79+
------------------
80+
81+
No exemplo mencionado no começo desse post o código mais simples seria o seguinte:
82+
83+
.. code-block:: python
84+
85+
class Pessoa(object):
86+
87+
def __init__(self, nome):
88+
self.nome = nome
89+
90+
def __str__(self):
91+
return self.nome
92+
93+
94+
regis = Pessoa('Regis')
95+
print(regis)
96+
fabio = Pessoa('Fabio')
97+
print(fabio)
98+
99+
Note que ``regis`` é uma instância da classe ``Pessoa``, e ``fabio`` é uma outra instância. Ou seja, temos dois **objetos**: ``regis`` e ``fabio``.
100+
101+
Os dois métodos serão explicados no próximo exemplo.
102+
103+
78104
Exemplo 1 - Calculadora simples
79105
-------------------------------
80106

0 commit comments

Comments
 (0)