А вы знали, что в питоне так можно?

Собрала несколько кейсов, о которых вы могли даже не подозревать:

1️⃣ Имя функции - это переменная, и этому имени мы можем присвоить что угодно:

`def func(): print('hi')

func()

#hi

func = -1

func()

#Traceback (most recent call last): #File "", line 1, in #TypeError: 'int' object is not callable

Естественно, после переопределения все предыдущие возможности перестают действовать

2️⃣ Та же история с модулями:

`import math

type(math)

#

math = -1

type(math)

#

3️⃣ При импорте модулей существующие переменные перезаписываются:

`x = 2

from mymodule import x

print(x)

#'new_value'

4️⃣ А переменные после цикла остаются существовать:

`for i in range(2): print(i)

print(i) # 2

#python_tips````