Python 函数
函数及其调用
什么是函数
- 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
- 函数能提高应用的模块性,和代码的重复利用率。
print()、hex() 这些都是函数
函数的调用非常简单,只要函数名(参数)
这里要注意一点:参数一定要符合函数定义时的入参,对于Python中提供的函数,可以使用help(函数名)来查看相关调用时的相关说明,如help(hex)
在Python中,万物皆对象,也就意味着函数名也是指向一个函数对象的引用,我们可以把函数名赋给一个变量,相当于给这个函数起了一个“别名
p = print p(123)
自定义函数
定义函数的基本结构
def 函数名(入参): 函数逻辑 return
自定义一个求原型面积的函数
PI = 3.14 def circle_area(r): return PI * r **2 print(circle_area(2))
自定义空函数
def empty_fun(): pass print(empty_fun())
让函数返回多个值
#直接在函数里把多个返回值按一定顺序放到list、tuple里 def my_fun(): return [1, 2, 3] #多个返回值以key-value的形式放在字典(dict)里 def my_fun(): return {"x": 1, "y": 2, "z": 3} #在return 的时候直接返回多个逗号分隔的值,在返回的时候,也可以直接用多个变量接收 def my_fun(): return val1, val2, val3 x, y, z = my_fun()
核心注意点:返回多个参数时,如果想一次性用多个变量接收,那么有多少个返回值就得有多少个变量接收。
其实返回多个值 ,本质上返回的是一个元组
def my_fun(): return 1, 2, 3 print(type(my_fun()))
递归
使用递归,做阶乘运算
def factorial(n): if n == 1: return 1 else: return n * factorial(n-1) print(factorial(5))
使用递归实现求斐波那契数列第n项的值
def feb(n): if n < 3: return 1 else: return feb(n - 1) + feb(n - 2) print(feb(6))
python 中有最大的递归层级,可使用如下代码获取最大层级
import sys print(sys.getrecursionlimit()) 输出结果:1000