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