首页 > 其他 > 详细

命名空间和函数的嵌套

时间:2018-11-14 15:12:00      阅读:171      评论:0      收藏:0      [点我收藏+]

2. 名称空间:

局部命名空间
全局命名空间
内置命名空间


加载顺序:

内置 > 全局 > 局部

取值顺序:

局部 > 全局 > 内置

作用域:

全局作用域:

内置 + 全局

局部作用域:

函数局部


# print(globals()) # 查看全局作用域中的变量和函数名
# print(locals()) # 查看局部作用域中的变量和函数名


3. 函数的嵌套:

def f():
print(11)
def f1():
print(22)
def f2():
print(33) **********重要
f2()

f1()
f()


4. 函数的注释:

def func():
# ‘‘‘
# 这是打印的函数
# :param a: 没啥用1
# :param b: 没啥用1
# :param c: 没啥用1
# :param d: 没啥用1
# :return: 返回的None
# ‘‘‘
# print(a,b,c,d)

5. global|

# print(id(lst))
# def func():
# # a = 15 # 在函数的局部中
# # global se #
# lst[0] = 11
# # print(a) # 使用的是局部
# func()
# print(lst)
# print(id(lst))

# 可变数据类型在函数中可以直接操作,不可变数据类型才需要使用global


# a = 10
# def f():
# a = 1 # a = 2
# def f1():
# # a = 4 # a = 2
# def f2():
# # nonlocal a
# # a = 2
# print(a) # 2
# f2()
# print(a) # 2
# f1()
# print(a) # 2
# f()

# nonlocal 改变最近的父级变量, 如果上级没有能够改变的就继续向上走,直到最外层函数就停止了.


##### 函数: 将一个需求封装后调用,优点:除去重复代码.

命名空间和函数的嵌套

原文:https://www.cnblogs.com/F18866/p/9958004.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!