请问这题中两个t有什么用?
定义的函数不是类似于一个工具放在那嘛。为什么经过了t=func(x=a)和t=func(y=b)会对定义的函数原本的默认值产生变化? 声明的默认参数不属于函数的命名空间 应该用
def func(x=None):
if x is None:
x=[]
来规避
函数的参数是不可哈希的数据类型
定义
def func(x=[],y=):
x.append(8)
y.append(8)
return(x+y)
每次不加参数调用函数以后,默认参数都会改变
调用一次func() 以后相当于默认 参数append(8)
第二次调用时相当于
def func(x=,y=):
x.append(8)
y.append(8)
return(x+y)
如果带参数使用函数,则不会改变函数默认参数
def func(x=[],y=):
x.append(8)
y.append(8)
return(x+y)
a,b=,
t = func(x=a,y=b) #带参数,默认参数不会发生改变,调用函数正常
#t = func(y=b)
print(func(),end=";")
两个t
第一个t使用了默认参数y
第二个t使用了默认参数x
则再次运行时默认参数为x=,y=
最终得到结果
; 兄弟,注意 end=’;‘,那也只能选B或D呀。 慢慢变强—syh 发表于 2021-2-15 12:25
兄弟,注意 end=’;‘,那也只能选B或D呀。
woc好眼力,我老瞎子了
页:
[1]