函数的命名空间和作用域1

一:实现函数中,返回两个值的最大值

def my_max(x,y):
m=x if x>y else y
return m
pp=my_max(10,20)
print(pp)

显示值是20  走Y,必须是有return

 

当遇到函数定义的时候解释器只是象征性的将函数名读入内存

等执行到函数调用的时候,python解释器会再开辟一块内存来存储这个函数里的内容,这个时候,才关注函数里面有哪些变量,而函数中的变量会存储在新开辟出来的内存中。函数中的变量只能在函数的内部使用,并且会随着函数执行完毕,这块内存中的所有内容也会被清空。

 

代码在运行伊始,创建的存储“变量名与值的关系”的空间叫做全局命名空间,在函数的运行中开辟的临时的空间叫做局部命名空间

 

局部调用

 

x = 1
def f(x):
    print(x)

print(10)

全局调用

x = 1
def f(x):
    print(x)
f(10) 
print(x)

作用域


作用域就是作用范围,按照生效范围可以分为全局作用域和局部作用域。


全局作用域:包含内置名称空间、全局名称空间,在整个文件的任意位置都能被引用、全局有效


局部作用域:局部名称空间,只能在局部范围生效

 

 

 
 

 

posted @ 2017-12-28 20:37  运维家园  阅读(125)  评论(0编辑  收藏  举报