67 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: Docstring
 | |
| localeTitle: Docstring
 | |
| ---
 | |
| ## Docstring
 | |
| 
 | |
| Docstring es una forma en que los desarrolladores pueden comunicar el propósito, los parámetros, los requisitos y el uso de una función en Python a otros desarrolladores. Permite la facilidad de mantenimiento y comprensión del código.
 | |
| 
 | |
| A diferencia de los comentarios de código fuente convencionales, la cadena de documentación debe describir lo que La función hace, no cómo.
 | |
| 
 | |
| Un ejemplo similar a Docstring es @Javadoc en Java.
 | |
| 
 | |
| Docstring se escribe como un comentario de varias líneas justo después del encabezado de la declaración en Python. Hay 4 partes diferentes en una cadena de documentación:
 | |
| 
 | |
| 1.  Tipo de entrada, y tipo de salida
 | |
|     *   La entrada / salida puede ser `obj, list, bool, int, str, float`
 | |
| 2.  Descripción de la función
 | |
|     *   Breve, pero completa descripción de lo que hace su función
 | |
| 3.  Requerimientos
 | |
|     *   Esto es leído por un humano, por lo que no tiene que ser un código
 | |
| 4.  Casos de prueba (normalmente 2-3)
 | |
| 
 | |
| El formato general se detalla a continuación.
 | |
| 
 | |
| ## Formato de Docstring
 | |
| 
 | |
| ```python
 | |
| def my_examplefunc(input_type1, input_type2): 
 | |
|   '''(input_type1, input_type2) -> output_type        # Your first line will be the input/output. Remember the space around the arrow! 
 | |
|   Here is a description of my example function        # Your second line will be the description 
 | |
|   REQ: type(input_type1) == list                      # Your next line (or lines) will be the requirements for the input of your function 
 | |
|   REQ: type(input_type2) == str 
 | |
|   >>> my_example_func([2, 3], "Hello World!")         # After the requirements come test cases 
 | |
|   [2, 3] "Hello World" 
 | |
|   >>> my_example_func([7, 2], "Another test case")    # Your first line of the test case is an example of the usage, prefaced by >>> 
 | |
|   [7, 2] "Another test case"                          # Your second line of the test case is the output 
 | |
|   >>> my_example_func([5, 6], "Last test case") 
 | |
|   [5, 6] "Last test case" 
 | |
|   ''' 
 | |
|   # Your code goes here, underneath the Docstring 
 | |
| ```
 | |
| 
 | |
| La cadena documental se entiende mejor con ejemplos, así que eche un vistazo al programa de ejemplo a continuación, en el que el programa muestra Verdadero si un número es menor que 5, y Falso si un número es mayor que 5.
 | |
| 
 | |
| ## Ejemplo 1
 | |
| 
 | |
| ```python
 | |
| def is_less_than_five(some_number): 
 | |
|   '''(int) -> bool 
 | |
|   Returns True if the given number is less than 5, and False is the given number is greater than 5. 
 | |
|   REQ: some_number != 5 
 | |
|   >>> is_less_than_five(4) 
 | |
|   True 
 | |
|   >>> is_less_than_five(6) 
 | |
|   False 
 | |
|   >>> is_less_than_five(100000) 
 | |
|   False 
 | |
|   ''' 
 | |
|   # Your code goes here 
 | |
| ```
 | |
| 
 | |
| ### Algunos enlaces útiles:
 | |
| 
 | |
| Numpy y Google Docstrings son dos enfoques de uso común:
 | |
| 
 | |
| *   Google: http://sphinxcontrib-napoleon.readthedocs.io/en/latest/example\_google.html
 | |
| *   Numpy: http://sphinxcontrib-napoleon.readthedocs.io/en/latest/example\_numpy.html También, consulte algunos buenos comentarios antiguos de PEP: https://www.python.org/dev/peps/pep-0257/ |