del post

    
      
diff --git a/pythonetc/README.md b/pythonetc/README.md
index 03d66e0..53084f3 100644
--- a/pythonetc/README.md
+++ b/pythonetc/README.md
@@ -48,7 +48,6 @@ These are ideas for future posts. Let me know if you want to write a guest post
 + super()
 + gc
 + trace
-+ del
 + destructor
 + iterator vs iterable
 + next()
@@ -60,3 +59,4 @@ These are ideas for future posts. Let me know if you want to write a guest post
 + generator.throw()
 + generator.close
 + re.scanner
++ pickle and security
diff --git a/pythonetc/del.md b/pythonetc/del.md
new file mode 100644
index 0000000..908180f
--- /dev/null
+++ b/pythonetc/del.md
@@ -0,0 +1,45 @@
+# del
+
+The `del` statement is used to delete things. It has a few distinct behaviors, depending on what is the specified target.
+
+If a variable specified, it will be removed from the scope in which it is defined:
+
+```python
+a = []
+del a
+a
+# NameError: name 'a' is not defined
+```
+
+If the target has a form `target[index]`, `target.__delitem__(index)` will be called. It is defined for built-in collections to remove items from them:
+
+```python
+a = [1, 2, 3]
+del a[0]
+a   # [2, 3]
+
+d = {1: 2, 3: 4}
+del d[3]
+d   # {1: 2}
+```
+
+Slices are also supported:
+
+```python
+a = [1, 2, 3, 4]
+del a[2:]
+a   # [1, 2]
+```
+
+And the last behavior, if `target.attr` is specified, `target.__delattr__(attr)` will be called. It is defined for `object`:
+
+```python
+class A:
+    b = 'default'
+a = A()
+a.b = 'overwritten'
+a.b         # 'overwritten'
+del a.b
+a.b         # 'default'
+del a.b     # AttributeError: 'A' object has no attribute 'b'
+```