diff --git a/pythonetc/README.md b/pythonetc/README.md
index fc7c3c6..c90e6b2 100644
--- a/pythonetc/README.md
+++ b/pythonetc/README.md
@@ -56,3 +56,4 @@ More:
1. ./new-init.md (15 October 2020, 18:00)
1. ./sentinel.md (20 October 2020, 18:00)
1. ./yield-compr.md (22 October 2020, 18:00)
+1. ./f-docstrings.md (27 October 2020, 18:00)
diff --git a/pythonetc/f-docstrings.md b/pythonetc/f-docstrings.md
new file mode 100644
index 0000000..e954aae
--- /dev/null
+++ b/pythonetc/f-docstrings.md
@@ -0,0 +1,34 @@
+Docstring is a string that goes before all other statements in the function body (comments are ignored):
+
+```python
+def f(): 'a'
+f.__doc__ # 'a'
+
+def f(): r'a'
+f.__doc__ # 'a'
+```
+
+It must be a static unicode string. F-strings, byte-strings, variables, or methods can't be used:
+
+```python
+def f(): b'a'
+f.__doc__ # None
+
+def f(): f'a'
+f.__doc__ # None
+
+a = 'a'
+def f(): a
+f.__doc__ # None
+
+def f(): '{}'.format('a')
+f.__doc__ # None
+```
+
+Of course, you can just set `__doc__` attribute:
+
+```python
+def f(): pass
+f.__doc__ = f'{"A!"}'
+f.__doc__ # 'A!'
+```