Advertisement
Mochinov

Untitled

May 10th, 2024
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.43 KB | None | 0 0
  1.  
  2. ---
  3. ## πŸ“ Docstring
  4.  
  5. Одна ΠΈΠ· Π²Π°ΠΆΠ½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ Π² любом ΠΊΠΎΠ΄Π΅ – **Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ**.
  6. Однако Π½Π΅ всСгда получаСтся ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈΠ»ΠΈ названия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ,
  7. ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ классов для ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ понимания ΠΊΠΎΠ΄Π°. Для этого Π½Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ docstring. <br>
  8. Docstring ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹Ρ… ΠΈ слоТных Π·Π°Π΄Π°Ρ‡
  9. (Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ мноТСства ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π΄Π»ΠΈΠ½Π½ΠΎΠΉ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ построСния Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ Ρ‚.Π΄.). <br><br>
  10. <b>ОбновлСниС 04.04.2024:</b> docstring ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ google. https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html <br><br>
  11. Π’ самих docstring ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 4 Π²Π΅Ρ‰ΠΈ:
  12. 1. основная идСя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΠ»ΠΈ класса;
  13. 2. Ρ€ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ, Ссли Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π° аннотация);
  14. 3. ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (Если Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ большС Ρ‡Π΅ΠΌ ΠΎΠ΄Π½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ являСтся кастомноС);
  15. 4. ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ (этой Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Π³Π°Ρ‚ΡŒ,
  16. Ссли ΡƒΠΊΠ°Π·Π°Π½ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ ΠΎΡ‚Π²Π΅Ρ‚Π° послС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²; Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, def sum(a, b) -> int) <br><br>
  17. Π’ основном docstring ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π½Π° английском. НапримСр:
  18. <pre>
  19. <code>
  20. def module_level_function(param1, param2=None, *args, **kwargs):
  21. """This is an example of a module level function.
  22.  
  23. The format for a parameter is::
  24.  
  25. name (type): description
  26. The description may span multiple lines. Following
  27. lines should be indented. The "(type)" is optional.
  28.  
  29. Multiple paragraphs are supported in parameter
  30. descriptions.
  31.  
  32. Args:
  33. param1 (int): The first parameter.
  34. param2 (:obj:`str`, optional): The second parameter. Defaults to None.
  35. Second line of description should be indented.
  36. *args: Variable length argument list.
  37. **kwargs: Arbitrary keyword arguments.
  38.  
  39. Returns:
  40. bool: True if successful, False otherwise.
  41.  
  42. The return type is optional and may be specified at the beginning of
  43. the ``Returns`` section followed by a colon.
  44.  
  45. The ``Returns`` section may span multiple lines and paragraphs.
  46. Following lines should be indented to match the first line.
  47.  
  48. The ``Returns`` section supports any reStructuredText formatting,
  49. including literal blocks::
  50.  
  51. {
  52. 'param1': param1,
  53. 'param2': param2
  54. }
  55.  
  56. Raises:
  57. AttributeError: The ``Raises`` section is a list of all exceptions
  58. that are relevant to the interface.
  59. ValueError: If `param2` is equal to `param1`.
  60. """
  61. if param1 == param2:
  62. raise ValueError('param1 may not be equal to param2')
  63. return True
  64. </code>
  65. </pre>
  66. **_N.B._**: Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΠΏΡ€ΠΎ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ, Π² особСнности ΠΊΠΎΠ³Π΄Π° опрСдСляСтся класс ΠΈΠ»ΠΈ комплСксная функция !
  67.  
  68. ---
  69.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement