================================ 函数进阶 ================================ --------- 全局的命名空间 ---- 函数外部的1 命名空间--------- 局部命名空间 ---- 函数内的 内置的命名空间----- python 内置的 调用时 命名空间的 加载顺序 python启动 ===>> 内置的命名空间 ====>> 加载全局命名空间(从上到下) ===>>> 加载局部的命名空间(从上到下) -------------------------------- 对于变量的使用 内部优先用自己的 ---------------------------------
#---------------------------------------------------------------------------------- 例子 # a=0# b=1## def my_min(a,b):# c= a if a< b else b## def Max(a,b): # Max 是一个变量 --->> 存储函数的地址# c= a if a>b else b# return c### re=Max(2,3)## print(a)# print(re)#---------------------------------------------------------------------------------- ------------ 全局的命名空间 ---- 都可以使用 2 作用域 局部命名空间 ---- 函数内的使用------------ 内置的命名空间----- python 内置的 全部可以使用
# 作用域 #内置的命名空间 在任意地方都可以使用#全局的命名空间 在自己写的代码里可以随意使用# 局部的命名空间 只能在函数内使用
# 作用域范围 从大到小 : 内置-->>全局--->>局部 # 小范围的局部,如果局部有的话使用局部--往外找
# a=0# def demo1():# def demo2():# print(a)# demo2()# print(a)# demo1()# print(a)
#---------------------------------------------------------------------------------- globals() locals() # 打印全局,局部的变量 global a ----->>> 会改变全局变量 nonlocal a ---->>> 会改变上一层变量 # a=1# # def F1():# global a# a=4# print(a)# F1()
#----------------------------------------------------------------------------------
--------------------3 函数名的实质-----函数变量 作为参数------------------- # 函数的名字 ----可以当做变量使用 # 首先是一个函数的内存地址# 可以赋值,可以作为其他容器数据的元素# 可以作为函数的参数,返回值 def a(): # 这里的 a ----->>> 是一个全局变量 函数 return ‘hello‘# print(a) l=[a,1]print(l[0]())
时间: 2024-08-12 08:18:59