1 函数的命名空间
#-*-coding:utf-8-*- ''' 函数进阶 ''' ''' 全局变量a,函数里面可以调用''' a = 1 def fun(): print(a) fun() ''' 覆盖内置函数,调用时调用的是这个函数了,而不是python本身有的input() ''' def input(): print("in input function") input() ''' 覆盖内置函数,用时调用的是这个函数了,而不是python本身有的max(), ''' def max(): print('in max function') max() # max([1,2,3]) 这样是会报错的! ''' 这样也会调用全局的,一级一级往上调 ''' def aa(): input() aa()
2 函数调用的本质
#-*-coding:utf-8-*- ''' 函数进阶 ''' ''' ''' a = 1 def bowen(): print(a) print(id(bowen)) print(bowen)
3 global的用法
#-*-coding:utf-8-*- ''' 函数进阶 ''' ''' 1、在局部函数中声明了global,那么这个变量中局部所有的操作将对全局有效 2、对于不可变数据类型,在局部可以查看全局作用域的变量,但是不能修改 3、想要修改,要加一个global ''' a = 1 def bowen(): global a # 如果不声明,就会报错。是不能修改的 a +=1 bowen() print(a)