Python中函数与全局对象间的关系
1、函数内调用全局对象
1.1 函数内部可不可以调用全局的函数对象
函数内部可以直接调用全局创建的函数。当函数内部创建与全局具有相同函数名的对象时,函数内的函数将会取代全局的函数。以下是一个示例:
# 全局函数defadd(a,b):returna+bdefmulti(a,b):# 调用全局的add函数c=add(a,b)c+=areturnc# 测试result=multi(2,3)print(result)# 输出: 7当函数内部有同名函数时:
# 全局函数defadd(a,b):returna+bdefmulti(a,b):# 局部函数,覆盖全局的add函数defadd(a,b):returna-b# 调用局部的add函数c=add(a,b)c+=areturnc# 测试result=multi(2,3)print(result)# 输出: 11.2 函数内部可不可以调用全局的变量
全局变量可以分为可变变量和不可变变量,不可变变量有字符串、整数、浮点数、元组等;可变变量有列表、字典、数组等。在函数内部可以访问/查看函数外的可变或不可变变量。当在函数内部创建一个与全局相同名字的变量时,局部变量会自动覆盖全局变量。
