-
函数的名称空间:全局名称空间,局部名称空间(临时),内置名称空间
1>.全局名称空间
全部的,所有的,整个的。
某个变量或者函数,实际上就是在内存中的地址。
这个地址谁都可以找到。那么代号和地址的这层关系,就是命名的关系。也叫作全局命名空间。相当于索引号给你,内存地址很长,不可能输入个地址去找我把。
2>.局部名称空间
也叫临时名称空间。
临时的,用他的时候就给他开个空间出来,
3>.内置名称空间,
内置的,内嵌的,python设置的。
强制性的。你用我的这程序,就非要给我留个空间出来把我的东西放进去。如print(), len(), max(), min(), sum()and so on. -
函数的作用域:全局作用域,局部作用域
-
取值顺序:
就近原则:
局部名称空间----->全局名称空间------->内置名称空间
代码一行行执行下来的,遇到一个变量或函数,谁离我近,我就是谁。
第一,如果在临时名称空间中,就是该值。
找不到咋办,去外面一层找。
如果外面还是找不到,就在整个空间找,
最后是内置空间。
- 获取函数名和内部文档
def func2(*args, **kwargs):
'''
:param args:
:param kwargs:
:return:
'''
def func3():
print('start')
func()
print('end')
return func3
print(func2.__doc__) # 打印函数内部文档,也就是注释
print(func2.__name__) #打印函数名
运行结果
:param args:
:param kwargs:
:return:
func2