此为对廖雪峰Python教程的学习笔记
List
- list是一种有序的集合,可以随时添加和删除其中的元素。
- 要删除指定位置的元素,用pop(i)方法,其中i是索引位置;
- 可以往list中追加元素到末尾,append(‘’);
- 可以把元素插入到指定的位置,insert(i, ’ ');
tuple
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改
默认参数
定义默认参数要牢记一点:默认参数必须指向不变对象。
参数组合
在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。
例如:
def f1(a, b, c=0, *args, **kw):
print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw)
def f2(a, b, c=0, *, d, **kw):
print('a =', a, 'b =', b, 'c =', c, 'd =', d, 'kw =', kw)
尾递归解决递归调用栈溢出
尾递归是指,在函数返回的时候,调用自身本身,并且,return语句不能包含表达式。这样,编译器或者解释器就可以把尾递归做优化,使递归本身无论调用多少次,都只占用一个栈帧,不会出现栈溢出的情况。
def fact(n):
return fact_iter(n, 1)
def fact_iter(num, product):
if num == 1:
return product
return fact_iter(num - 1, num * product)`在这里插入代码片`