Python/Conceitos básicos/Comentários e docstrings: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
LeonardoG (discussão | contribs)
m Python/Comentários e docstrings movido para Python/Conceitos básicos/Comentários e docstrings: P�gina movida por bot
Albmont (discussão | contribs)
Corrigindo código incompreensível (e errado) e explicando para que servem docstrings de modo prático
Linha 3:
----
 
Há em todas as linguagens de programação a necessidade de documentar uma linha ou um bloco de código para documentar o que serve aquele bloco de código. Em Python comentários são iniciados com #, tudo que estiver depois do # será ignorado pelo interpretador, portanto considerado como comentários, o fechamento do comentário acaba quando acabar a linha do interpretador. As docstrings são mais comumente introduzidas no início de uma classe ou no início do programa para definir o escopo do software ou o escopo de métodos, seu símbolo padrão são as três aspas duplas ou simples. A diferença visível entre comentários e docstrings é o que cabe dentro delas, por exemplo:
 
As docstrings são mais comumente introduzidas no início de uma classe, de uma função ou no início do programa para definir o escopo do software ou o escopo de métodos, seu símbolo padrão são as três aspas duplas ou simples.
* Comentários:
<pre>
def valor1(self):
try:
self.c = input('Primeiro valor: ')
c = self.c
return c
except: # lança a exceção
print ' Inválido! '
self.valor1()
</pre>
 
Para quem está lendo o código do programa não existe muita diferença (exceto estética) entre comentários e docstrings, mas para o usuário a diferença é marcante, pois uma docstring não ´é ignorada pelo interpretador, mas passa a fazer parte do objeto sobre o qual ela foi definida, podendo ser acessada através do help.
 
Por exemplo, entre com as linhas abaixo. Note que o arquivo não contém nenhum caracter fora do conjunto ASCII padrão (usar acentos pode dar problema no Windows):
 
* Docstrings:
<pre>
#
def valor1(self):
# Comentarios:
#
 
def valor1fat1(selfn):
# Entre com fat1(n) para calcular o fatorial de n
# Exemplo: fat1(5)
if (n <= 1)
return c1
return n * fat1(n-1)
 
#
*# Docstrings:
#
 
def valor1fat2(selfn):
'''
Entre com fat2(n) para calcular o fatorial de n
Entrada do primeiro valor do cálculo.
Por exemploExemplo: fat2(5)
>>> Primeiro Valor: 2
'''
if (n <= 1)
return c1
return n * fat1(n-1)
</pre>
 
Após carregar as linhas, vamos fazer alguns testes:
try:
<pre>
self.c = input('Primeiro valor: ')
>>> fat1(3)
c = self.c
>>> fat2(3)
return c
</pre>
except:
 
print ' Inválido! '
Note que, se você escreveu as linhas anteriores em um programa, por exemplo, fatorial.py, e incluiu o programa usando "import fatorial", então é preciso chamar funções através de fatorial.fat1(3) e fatorial.fat2(3), respectivamente.
self.valor1()
 
Para ver como funciona a docstring, entre agora com:
<pre>
>>> help(fat1)
>>> help(fat2)
</pre>
 
Note que não existe documentação para fat1, mas fat2 tem a documentação escrita na docstring.
 
[[Categoria: Python]]