python在函数内部:
(1)可以修改全局变量的可变类型
(2)也可以修改默认参数可变类型的设定
对于这个看似很不稳定,不确定的东西,在很多时候往往可以变成你的“朋友”
在函数中,如果刚才已经操作过,现在又操作,如何能让函数知道这是第二次操作呢?
——这个时候默认参数,和外部全局变量的初始化,就可以帮助我们实现这个功能!!!
易错点:
1.能修改的必须是可变类型
2.可变类型:只能修改内容,不能重新赋值
3.想彻底修改:修改前必须用globa声明
默认参数的修改错误示例:
def fun(a1,a2=1):
a2 +=1
return a2
# 这种修改是无效的
# a2不是可变类型,实际的默认值无法修改
# a2只有是字典,集合,元组才可以修改
# 即使是字典,集合,元组也不可以完全重新赋值,只能修改,不能重新赋值
全局变量修改的错误示例:
COUNT = 0
def fun():
COUNT += 1
return COUNT
fun()
# 这种赋值是无效的:
# COUNT不是可变类型,无法修改
# 函数内部的COUNT,只是进行了重置,没有修改
# 可变类型修改只能修改,不能重新赋值
# 如果想全盘修改,需要globa关键字