Python sum函数的改进(用到的知识:静态变量、list、可变长参数等)
来源:互联网 发布:尼康50mm 1.8g 知乎 编辑:程序博客网 时间:2024/06/05 19:47
这些天来,一直在看think python:How to think like a computer scientist 这本书。学到其中关于元组那一章,作者布置了一道题目,因为python 内置的函数sum()只能接受两个参数,利用学习的可变长参数知识,自定义一个sum_all 函数。
函数可以接受不定长参数,以*打头的参数会gather所有参数到一个元组上。
def print_all(*args): print argsprint_all(1,2.0,'apple')print_all(1)
轮到自己编写的时候发现static不是关键字,于是搜索了一下
在这里找到了一些方法,其中评论中说的利用vars(s)替代s.__dict__也是值得注意的
真正的static替代方案其实就是三句话
if vars(sum_all).has_key("a"):sum_all.a += t[e]else:sum_all.a = 0
其中sum_all是函数名称,给他划定范围,a就是那个static变量。整体的函数如下:
def sum_all(*t):sum_all.a = 0for e in range(len(t)):if vars(sum_all).has_key("a"):sum_all.a += t[e]else:sum_all.a = 0 return sum_all.a
运行截图如下
另外在StackOverFlow上也有关于这个说法点击打开链接
0 0
- Python sum函数的改进(用到的知识:静态变量、list、可变长参数等)
- python的可变长参数
- Python的可变长参数
- Python中函数的参数传递与可变长参数
- Python中函数的参数传递与可变长参数
- Python中函数的参数传递与可变长参数
- 可变长参数的函数的写法
- c++可变长参数的函数
- Python函数的可变参数
- Python class 初始化参数为 list 等 可变类型时遇到的问题
- Python可变长参数
- C可变长参数函数的几个宏的理解
- 可变长参数函数
- 可变长参数函数
- 函数可变长参数
- Java中编写可变长参数的函数
- C函数中,可变长参数的传递?
- C函数中,可变长参数的传递?
- jQuery实现节点克隆、替换和互换
- 三层架构
- Deep learining
- [Swift]语法入门
- 安卓小说阅读器实现之三 左右划屏的实现 SlidingLayout(包含源码)
- Python sum函数的改进(用到的知识:静态变量、list、可变长参数等)
- HDU2073 无限的路
- android ant多渠道 批量打包 遇到问题及解决
- 微博消息队列架构分析
- 线性回归和logistic回归 (linear regression and logistic regression)
- VC网络协议
- ibatis 2.3x logging 加载机制, 输出sqlmap jdbc日志信息
- 2015年工作中遇到的问题:11-20
- 拯救程序猿,先从了解他开始!