python使用函数默认值来实现函数静态变量的功能
来源:互联网 发布:mac照片导入相簿 编辑:程序博客网 时间:2024/04/28 14:50
今天尝试Python并行计算,想利用静态变量计数,从而知道函数被运行了几次
Python本身是不支持静态变量的,但是我们可以通过函数的默认值来实现静态变量的功能。
当函数的默认值是内容是可变的类时,类的内容可变,而类的名字没变。(相当于开辟的内存区域没有变,而其中内容可以变化)。
这是因为python中函数的默认值只会被执行一次,(和静态变量一样,静态变量初始化也是被执行一次。)这就是她们的共同点。
def
f(a, L
=
[]):
L.append(a)
return
L
print
f(
1
)
print
f(
2
)
print
f(
3
)
print
f(
4
,[
'x'
])
print
f(
5
)
他的输出是:
[
1
]
[
1
,
2
]
[
1
,
2
,
3
]
[
'x'
,
4
]
[
1
,
2
,
3
,
5
]
前面的好理解,为什么最后 “print f(5)”的输出是 “[1, 2, 3, 5]”呢?
这是因为 “print f(4,['x'])”时,默认变量并没有被改变,因为默认变量的初始化只是被执行了一次(第一次使用默认值调用),初始化执行开辟的内存区(我们可以称之为默认变量)没有被改变,所以最后的输出结果是“[1, 2, 3, 5]”。
1 0
- python使用函数默认值来实现函数静态变量的功能
- Python使用函数默认值实现函数静态变量的方法
- 这篇文章主要介绍了Python使用函数默认值实现函数静态变量的方法,是很实用的功能
- Python中类的静态函数、静态变量的实现
- android canvas中translate函数的使用,可以通过translate函数来实现滚动的功能
- python使用函数属性实现全局变量功能
- python函数参数默认值
- 提高C#编程水平的50个要点 之十三“使用静态构造函数来初始化静态成员变量”
- python的函数 参数的默认值
- 静态成员变量和静态成员函数的使用
- 用函数模板来实现函数重载的功能.cpp
- Python函数参数默认值的陷阱
- 关于静态变量(函数)与非静态变量(函数)代码块的使用时机
- 什么时候使用静态变量和静态函数?
- c++静态变量,静态函数,私有静态变量的使用小记
- 成员函数的静态变量
- 模板函数的静态变量
- 类的静态函数静态变量
- 延云YDB v1.0.3-beta版本发布
- Android MediaPlayer 播放prepareAsync called in state 8解决办法
- jmeter之编写java请求-扩展Java Sampler
- python基础教程共60课-第16课字符串格式化2
- JS跨域设置和取Cookie
- python使用函数默认值来实现函数静态变量的功能
- 腾讯2016研发工程师笔试题(三)
- sleep()函数
- linux基础(七)----linux命令系统学习----系统安全相关命令
- httpClient4.5创建连接池进行post请求
- 改你MB需求!
- iOS使用lua语言的使用步骤与实现插件的动态更新
- POJ3104 二分
- 强大的矩阵奇异值分解(SVD)及其应用