首先以一小段很精炼的代码开头
def fib(num):
'斐波那契数列'
fibs = [0,1]
for i in range(num):
fibs.append(fibs[-2]+fibs[-1])
return fibs
抽象
--独立的函数定义
创建函数
--函数定义语法
记录函数
--在函数的开头写下字符串,它就会作为函数的一部分进行存储,称为“文档字符串”。
def fib(num):
'斐波那契数列'
#...
通过 fib.func_doc来显示字符串内容。
无“返回值”的函数返回甚?
--返回了None
>>> def func():
return
>>> x = func()
>>> print x
None
参数参数参数
--形参vs实参
--能否改变参数?
python倒是没有什么按值传递、按址传递,和java一样,统统都是引用(在对象上)。参数存储在局部作用域(local scope)内,字符串、数字、元组
是不可变的,即无法被修改(只能是被新的值覆盖),所以这仨作实参传入函数后是不能被修改的。如果可变的数据结构例如列表、字典啥的作实参传
入,一旦函数内对这些可变数据结构修改,在函数外,函数内的修改同样是有效的——这个就要说到多个变量同时引用同一个对象了
>>> x = dict(name = 'liu