python学习日记之函数入门、函数参数

本文详细介绍了Python函数的定义、参数传递、返回值、开发者文档、多值返回及递归函数的使用。通过实例展示了如何定义函数、设置文档注释、使用关键字参数以及实现递归。同时,还提到了动态传入数据、函数内部实现及确保递归函数的终止条件等关键点。
摘要由CSDN通过智能技术生成

一、函数定义:为实现特定功能的一段代码函数,当我们需要去实现某一个功能时,去调用就可以了。可以接收0个或者多个参数,也可以返回0个或者多个值。

1.函数的定义:

(1)函数名:声明必须使用def关键字,函数名命名使用多个小写英文单词组成,不同单词之间使用下划线_来分隔开;

(2)形参列表:定义函数可以接受的参数,可以是一个也可以是多个,多个使用英文逗号分隔开。需要调用的时候,必须传入相对应的形参

def xx(#形参列表):
    #多条可执行语句
    #return 返回值
    pass

二、1.对于定义函数的人员来说,需要注意以下几点:

(1)需要动态的传入数据,这些数据被定义参数;

(2)需要返回相应的内容,这些内容被定义为返回值;

(3)函数内部的实现过程。

2.对于return返回的内容,可以是带有值的变量,也可以是返回一个表达式

#定义一个函数用于从两个数当中比较出最大的一个数字
def my_max(x , y):
    #使用三目运算符比较出两个数当中的最大的一个
    z = x if x > y else y
    return z
    #可以使用此句来代替上面的内容: return x if x > y else y
def my_hello(name):
    print("---my_hello函数-----")
    return name + ",Hello! I'm Fine,thanks!"
a = 6
b = 9
#c用来接收两个数当中的最大值
c =my_max(a , b)
print("最大值是:",c)
print(my_hello("Albert"))

 

三、开发者文档:

1.我么使用多行字符串的方法为函数定义一个开发文档,当我们需要去查看它的时候,可以通过help()函数、.__doc__函数的方式来查看开发文档

#定义一个函数用于从两个数当中比较出最大的一个数字
def my_max(x , y):
    """
    函数的说明文档,用于比较出两个值当中大的一个数
    def my_max():
        :return x if x > y else y
    """
    #使用三目运算符比较出两个数当中的最大的一个
    z = x if x > y else y
    return z
    #可以使用此句来代替上面的内容: return x if x > y else y
#通过help函数来查看开发文档
help(my_max)
#通过__doc__函数来查看开发文档
print(my_max.__doc__)

四、多个返回值

1.对于多个值的返回,我们可以使用包装成列表;如果不接收,程序将会以元组的方式接收返回的多个值

def sum_and_average(list):
    """
    多个值的返回
    def :
        定义一个函数,如果列表里面的是数值就进行求和操作,否则就掠过
        求和之后,再求出这个列表里面数值的平均值
    """
    sum = 0
    count = 0
    for i in list:
        if isinstance(i , int) or isinstance(i , float):
            sum += i
            count += 1
    return sum , sum/count
my_list= ['张三' , 12.5 ,32 ,54 ,87 ,23 ,'李四' ,213 ,'王五' ,'大卫' ,231]
#使用序列解包的方式,将返回的多个值解包
sum_list,average_list = sum_and_average(my_list)
print("列表的和是:",sum_list)
print("列表的均值是:",average_list)

五、递归函数

1.如果一个函数内调用他自己本身,我们就称这个为递归函数。如下:

#递归函数,来回调用函数本身
def f(n):
    """
    定义一个f(n)函数,如果n为0,则返回1;n为1,则返回4
    f(n)=2*f(n-1)+f(n-2)
    :param n:
    :return:
    """
    if n == 0:
        return 1
    elif n == 1:
        return 4
    else:
        return 2*f(n-1)+f(n-2)
#求出f(10)的结果
print("f(10)的结果是:",f(10))

2.某个时刻函数的返回值是确定的,不在调用本身,一定要向已知的方向去运行

六、关键字参数

 

1.函数的参数传入并不是无意义的,python允许调用函数的时候使用名字来传入参数的值。有以下几种方式:

(1)通过形参位置来传入参数的值,位置参数;

(2)通过关键字的方式来传入参数的值

(3)通过关键字和位置参数混合使用的方式来传入参数的值,此时需要注意的是位置参数必须位于关键字参数前面。否则将会报错。

#关键字参数
def student(hai_color, hegiht, weight):
    """
    输出学生身高、体重、头发颜色的一个函数
    :param hai_color:
    :param hegiht:
    :param weight:
    :return:
    """
    print("这个学生的头发颜色是:",hai_color)
    print("这个学生的身高是:"+str(hegiht)+"cm")
    print("这个学生的体重是:"+str(weight)+"斤")
    return hai_color,hegiht,weight
#传统的位置函数,与函数的参数一一对应
print("----学生信息函数----")
print(student('black' , 166 ,127))
#使用关键字参数
print(student(hegiht=171 , weight= 98, hai_color= 'yellow'))
#使用关键字参数和位置参数混合,关键字参数必须位于位置参数后面
print(student('hot' ,weight= 183,hegiht= 168))
#位置参数位于关键字参数之后就会报错
#print(student(weight= 176 ,hai_color='blue' ,198))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值