[Python入门]Chapter6 函数

来源:互联网 发布:手机电子书阅读软件 编辑:程序博客网 时间:2024/06/16 02:35

函数结果

返回值

我们这样定义函数的返回:立即从函数返回,并将表达式的值作为返回值。比如定义一个面积函数:

def area(radius):
 return math.pi*radius**2

我们应该这样理解return:它定义了返回值,并且返回语句执行时,函数立即返回,不再执行后面的代码。

布尔函数

函数可以返回布尔值,这样便于隐藏函数中复杂的细节。例如:

def is_divisible(x,y):
 if x%y==0:
  return True
 else:
  return False

递归函数

这里用斐波纳切函数举例:

def fibonacci(n):
 if n==0:
  return 0
 elif n==1:
  return 1
 else:
  return fibonacci(n-1) + fibonacci(n-2)

类型检查

对上面的递归函数,如果我们调用fibonacci(1.5),那么只能返回一个异常。究其原因是因为入参类型问题导致,因此,我们有必要进行入参验证(使用内置函数isinstance):

def fibonacci(n):
 if not isinstance(n,int):
  print ‘Factorial is only defined for integers’
  return None
 elif n<0:
  print ‘Factorial is only defined for positive integers’
  return None
 elif n==0:
  return 0
 elif n==1:
  return 1
 else:
  return fibonacci(n-1) + fibonacci(n-2)

0 0
原创粉丝点击