Se a primeira cláusula do corpo de uma função for uma string, essa string é associada ao atributo __doc__ da função e fica presente para ser lida ou escrita em runtime. Chama-se a esta string uma docstring, de Documentation String.
Note-se que me referi ao atributo de uma função. Uma função é um objecto como outro qualquer e, como tal, pode ter atributos.
Um exemplo*:
defx_intercept(m, b):""" Return the zero of the line y=m*x+b. The zero of a line is the point at which it crosses the x axis (y=0). """return-b/m
Um exemplo útil para as docstrings está no seu uso por parte da função
standard help que imprime informação sobre o seu argumento. Assim:
>>> help(x_intercept)
Help on function x_intercept in module __main__:
x_intercept(m, b)
Return the zero of the line y=m*x+b. The zero of a
line is the point at which it crosses the x axis (y=0).
>>>
As strings criadas com 3 " mantém a sua formatação (quebras de linha,
espaços e tabs).
*retirado de http://epydoc.sourceforge.net/docstrings.html