Python - tips & tricks
or how to simplify our daily job as programmers



Me
- Software Developer @
- "Informatics" student @ New Bulgarian University
- Using Python & Django on a daily basis.


@v_tashev
wencakisa

hacksoft.io

The Zen of Python
>>> import this
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
...dict (ionary)
dict
>>> my_dict = {
'key1': 'value',
'key2': 2,
'key3': None
}
>>> my_dict['key1']
'value'
>>> my_dict['key2']
2
>>> my_dict['key3']
Nonedict
>>> my_dict = {
'key1': 'value',
'key2': 2,
'key3': None
}
>>> my_dict['key1']
'value'
>>> my_dict['key2']
2
>>> my_dict['key3']
NoneHow we can check whether there are any items in the dict? 🤔
dict
>>> my_dict = {
'key1': 'value',
'key2': 2,
'key3': None
}
>>> my_dict['key1']
'value'
>>> my_dict['key2']
2
>>> my_dict['key3']
None>>> my_dict.keys()
['key1', 'key2', 'key3']
>>> empty_dict.keys()
[]
dict
>>> my_dict = {
'key1': 'value',
'key2': 2,
'key3': None
}
>>> my_dict['key1']
'value'
>>> my_dict['key2']
2
>>> my_dict['key3']
Noneif len(my_dict.keys()) > 0:
print('Dict is not empty!')dict
>>> my_dict = {
'key1': 'value',
'key2': 2,
'key3': None
}
>>> my_dict['key1']
'value'
>>> my_dict['key2']
2
>>> my_dict['key3']
Noneif len(my_dict.keys()) > 0>>> my_dict.values()
['value', 2, None]
>>> empty_dict.values()
[]
dict
>>> my_dict = {
'key1': 'value',
'key2': 2,
'key3': None
}
>>> my_dict['key1']
'value'
>>> my_dict['key2']
2
>>> my_dict['key3']
Noneif len(my_dict.keys()) > 0if len(my_dict.values()) > 0:
print('Dict is not empty!')dict
>>> my_dict = {
'key1': 'value',
'key2': 2,
'key3': None
}
>>> my_dict['key1']
'value'
>>> my_dict['key2']
2
>>> my_dict['key3']
Noneif len(my_dict.keys()) > 0if len(my_dict.values()) > 0>>> my_dict
{
'key1': 'value',
'key2': 2,
'key3': None
}
>>> empty_dict
{}dict
>>> my_dict = {
'key1': 'value',
'key2': 2,
'key3': None
}
>>> my_dict['key1']
'value'
>>> my_dict['key2']
2
>>> my_dict['key3']
Noneif len(my_dict.keys()) > 0if len(my_dict.values()) > 0if len(my_dict) > 0:
print('Dict is not empty!')dict
>>> my_dict = {
'key1': 'value',
'key2': 2,
'key3': None
}
>>> my_dict['key1']
'value'
>>> my_dict['key2']
2
>>> my_dict['key3']
Noneif len(my_dict.keys()) > 0if len(my_dict.values()) > 0if len(my_dict) > 0dict
>>> my_dict = {
'key1': 'value',
'key2': 2,
'key3': None
}
>>> my_dict['key1']
'value'
>>> my_dict['key2']
2
>>> my_dict['key3']
Noneif len(my_dict.keys()) > 0if len(my_dict.values()) > 0if len(my_dict) > 0>>> bool(0)
False
>>> bool(1)
True
>>> bool(-42)
Truedict
>>> my_dict = {
'key1': 'value',
'key2': 2,
'key3': None
}
>>> my_dict['key1']
'value'
>>> my_dict['key2']
2
>>> my_dict['key3']
Noneif len(my_dict.keys()) > 0if len(my_dict.values()) > 0if len(my_dict) > 0if len(my_dict):
print('Dict is not empty!')dict
>>> my_dict = {
'key1': 'value',
'key2': 2,
'key3': None
}
>>> my_dict['key1']
'value'
>>> my_dict['key2']
2
>>> my_dict['key3']
Noneif len(my_dict.keys()) > 0if len(my_dict.values()) > 0if len(my_dict) > 0if len(my_dict)dict
>>> my_dict = {
'key1': 'value',
'key2': 2,
'key3': None
}
>>> my_dict['key1']
'value'
>>> my_dict['key2']
2
>>> my_dict['key3']
Noneif len(my_dict.keys()) > 0if len(my_dict) > 0if len(my_dict)>>> bool(0)
False
>>> bool([])
False
>>> bool('')
Falseif len(my_dict.values()) > 0dict
>>> my_dict = {
'key1': 'value',
'key2': 2,
'key3': None
}
>>> my_dict['key1']
'value'
>>> my_dict['key2']
2
>>> my_dict['key3']
Noneif len(my_dict.keys()) > 0if len(my_dict.values()) > 0if len(my_dict) > 0if len(my_dict)if my_dict:
print('Dict is not empty!')list
>>> my_list = ['a', 2, None]
>>> my_list[0]
'a'
>>> my_list[1]
2
>>> my_list[2]
Nonelist
>>> my_list = ['a', 2, None]
>>> my_list[0]
'a'
>>> my_list[1]
2
>>> my_list[2]
NoneHow to iterate over the list's elements, along with their indices? 🤔
list
>>> my_list = ['a', 2, None]
>>> my_list[0]
'a'
>>> my_list[1]
2
>>> my_list[2]
Noneindex = 0
while index < len(my_list):
print(index, my_list[index])
index += 1
# 0 'a'
# 1 2
# 2 Nonelist
>>> my_list = ['a', 2, None]
>>> my_list[0]
'a'
>>> my_list[1]
2
>>> my_list[2]
Nonerange(3)
# [0, 1, 2]for index in range(len(my_list)):
print(index, my_list[index])
# 0 'a'
# 1 2
# 2 Nonelist
>>> my_list = ['a', 2, None]
>>> my_list[0]
'a'
>>> my_list[1]
2
>>> my_list[2]
Nonefor index, element in enumerate(my_list):
print(index, element)
# 0 'a'
# 1 2
# 2 None

Python - Tips & Tricks (EN)
By Ventsislav Tashev
Python - Tips & Tricks (EN)
Career Show 2020 presentation
- 936