day15 笔记

函数参数终章:
命名关键字形参:在定义函数时,*后定义的的参数称之为关键字参数
def func(x,y,*,a=1,b)
组合用:位置参数-默认形参-可变位置形参-关键字形参-**kwargs
名称空间和作用域:
名称空间:存放名字的地方,对栈区的一种划分
内置名称空间:存放解释器内置的名字,存活周期:随着解释器开启与关闭而存活的
全局名称空间:如果一个名称空间既不是内置也不是局部,那么他就是全局的,存活周期:会随着程序的运行和结束存活的
局部名称空间:函数内的名字,存活周期:随着函数的调用和结束释放存活的
加载顺序:内置——》全局——》局部
销毁顺序:内置《——全局《——局部
查找优先级:在当前所在位置向上逐层查找
当发生函数的嵌套时,不要去管函数何时调用,而是直接去找函数定义位置
作用域:作用范围
全局作用域:1.全局存活,2.全局有效
局部作用域:1.函数结束时就GG 2.函数调用时有效
global:作用是将函数内的变量声明为全局变量
nolocal:函数嵌套时打破上层进行修改

# ===================题目一===================
input=333
def func():
input=444
func()
print(input)

# ===================题目二===================
def func():
print(x)
x=111

func()


# ===================题目三===================
x=1
def func():
print(x)


def foo():
x=222
func()

foo()

# ===================题目四===================
input=111
def f1():
def f2():
# input=333
print(input)
input=222

f2()

f1()

# ===================题目五===================
x=111
def func():
print(x) #
x=222

func()


# ===================题目六===================
x=111

def foo():
print(x,)

def bar():
print(x)

foo()
bar()

# ===================题目七===================
x=1
def func2():
func1()

x=2
def func1():
print(x)

x=3

func2()

posted @ 2020-03-19 22:29  TopJocker  阅读(130)  评论(0编辑  收藏  举报