可变数据类型作为初始化形参 / Mutable Parameter as Init Formal-para


 

由于在Python中,没有类似C语言的static静态参数,因此当一个函数需要一个只初始化一次的参数时,通常会在函数外部进行初始化操作,较为不便。

但是在Python中,可以利用可变参数作为函数的形参默认值来实现这一功能,

完整代码

 1 # n is mutable
 2 def foo_1(x, n=[]):
 3     print(id(n))
 4     n += [x]
 5     print(id(n))
 6     print(n)
 7 
 8 foo_1(2)
 9 foo_1(3)
10 foo_1(5)
11 
12 print(20*'-')
13 # n is immutable
14 def foo_2(x, n=()):
15     print(id(n))
16     n += (x, )
17     print(id(n))
18     print(n)
19 
20 foo_2(2)
21 foo_2(3)
22 foo_2(5)
View Code

相关文章:

  • 2022-12-23
  • 2022-01-02
  • 2021-09-27
  • 2021-11-22
  • 2022-12-23
  • 2022-12-23
  • 2021-11-04
猜你喜欢
  • 2021-09-27
  • 2022-12-23
  • 2022-12-23
  • 2020-10-17
  • 2022-12-23
  • 2021-12-18
  • 2022-12-23
相关资源
相似解决方案