一.
python里面有许多已经写好的函数,分别放在不同的模块
里面,这一点已经在开始提到过。当然,python也可以自己编写函数,这一点与C语言有异曲同工之妙。
当自己开始创建函数时,需要使用def语句:
def __():
…….
…….
下划线
上写的是函数的名字,这里自己编译,括号里面需要写参数(一个或多个)。函数名后面需要加个冒号,冒号后面是函数体,自己编译需要实现的功能。
当然,函数里面可以嵌套函数,if语句等其他不同的功能。
二.
num=input(“Please input :”)
def fibs(num):
result=[0,1]
for i in range(num-2):
result.append(result[-2]+result[-1])
return result
print(fibs(num))
整个高亮部分全为函数体
,最后的print函数
则不在函数体之内。通过缩进符
来区分。
这个自编函数作用类似于斐波那契数列,也有些递归的意味。
三.
def f(n):
if n==1:
return 1
else:
return n*f(n-1)
x=input(“Please enter a figure:”)
print(“x的阶乘为:{}”.format(f(x)))
这是一个简单的递归函数,目的是求一个数的阶乘,其基本思想与C语言一致,只是语法上略有不同。
四.
python函数可以嵌套,即可将一个函数放在另一个函数内。通常用途不大,但可以使用一个函数来创建另一个函数。
def f(n):
def g(x):
return n*x
return g
第二个函数放在第一个函数里面,外面的函数会返回里面的函数
这样的话,返回的函数能够访问其定义所在的作用域。而类似于g(x)这样存储器所在作用于的函数称为闭包