python函数
定义一个简单的python函数
def my_fun():
pass
带参数的函数
在调用带参函数时必须传入参数
形参: 形式参数,意义上的参数不占内存地址
实参: 实际占用内存地址
def my_fun_with(p1,p2):
print(p1,p2)
my_fun_with("sda","sadas")
关键字参数
使用关键字参数可在调用是直接指定参数名称,可以不按照参数顺序传参
def fun_2(name,age):
print("姓名:"+name+"| 年龄:"+str(age))
fun_2("sdaas",50)
fun_2(age=50,name="sdaas") #关键字参数
默认参数
默认参数在没有传值的情况下将使用默认值
def myfunmor(name="狗蛋",age = 88):
print("姓名:" + name + "| 年龄:" + str(age))
myfunmor()
# 输出:姓名:狗蛋 | 年龄:88
myfunmor("尼古拉斯")
# 输出:姓名:尼古拉斯 | 年龄:88
参数混合使用
参数混合使用 默认参数必须在最后
def myfun_hunhe(age,name="搜索",):
print("姓名:" + name + "| 年龄:" + str(age))
myfun_hunhe(55)
函数的返回值
python可以设定一个函数的返回值,可以有多个返回值或是返回一个函数
简单的返回
def myfun(da):
return da
多个返回值
def myfun_d(name,age):
return name,age # 返回多个值
n,s=myfun_d("sada",55)
print(n,s)
返回一个函数
def fun_fun(x):
if x == 2:
def inner(y):
print(y)
return y*y
if x == 3:
def inner(y):
return y*y*y
return inner
calsc = fun_fun(2)
print(calsc(4))
python通过递归实现阶乘计算
# 递归
# 在函数中自己调用自己 效率低
# 每次递归规模都要有所缩小
# 逻辑:每二次相邻的调用,前一次要为后一次做准备
# 第一次运算的结果,是下一次运算的条件
p = 0;
def jiechen(x):
if x==1:
return 1
print(str(x) , str(x-1))
return x * jiechen(x-1)
print(jiechen(5))