为什么要写这个呢,我觉得这个很重要,确切了解掌握这个知识点,有利于后边的装饰器、闭包的学习
1.正常执行顺序,从上往下,从右往左(针对赋值)
a = 1 # 1
print(a) # 2
2.函数的执行过程,从上往下,先执行函数名,不执行函数内部,只有函数被调用时才执行
def a(): # 1
print('a') # 4
def b(): # 2
print('b')
a() # 3
3.类,类的执行也是从上往下,但是类中存在很多魔法方法和普通方法,但是顺序是先执行__new__再执行__init__再执行普通方法,最后执行__del__
class People: # 1
print('开始') # 2
def __new__(cls): # 3
print('new') # 7
def __init__(self): # 4
print('init')
def eat(self): # 5
print('eat') # 9
one = People() # 6
one.eat() # 8
# 说明:如果__new__有返回值,会执行__init__函数;__del__函数会在类对象使用完成后自动进行回收