日常python学习-2
今天倒腾stm32去了,做了一个调档的流水灯.可以调速度和模式,搞到11点.所以python学习晚了一点点
2018.3.9
1.函数的可变参数
- 带星号有点像指针,其实不是.可变参数定义的非常简单:
def calc(*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum
- 此时calc函数可以传入可变参数:使用如下
>>>calc(1,2,3,4,5)
- 当然,如果已经有了一个list 或者 tuple,调用带可变参数的函数应该如下:
>>> nums = [1, 2, 3]
>>> calc(*nums)
2.函数的关键字参数
占坑,感觉大部分时候用不到.
3.递归函数
- 简单举例: 求阶乘
def fact(n):
if n==1:
return 1
return n * fact(n - 1)
- 虽然py没有尾递归优化,不过也可以尝试一下尾递归:
def fact(n):
return fact_iter(n, 1)
def fact_iter(num, product):
if num == 1:
return product
return fact_iter(num - 1</