python练习之函数

函数:

1.函数的基本概念

【1】定义:如果在开发程序时,需要某块代码多次, 但是为了提高编写的效率以及代码的 重用,所以把具有独立功能的代码块组 织为一个小模块,这就是函数.

  • 我们已经接触过的函数如 input() 、print()、range()、len() 函数等等,都是 Python 的内置函数,可以直接使用。在编程语言中的函数,都可以用下图概括:
    在这里插入图片描述
    在这里插入图片描述
    【2】对函数的理解
    • 函数需要几个关键的需要动态变化的数据,这些数据应该被定义成函数的参数。
    • 函数需要传出几个重要的数据(就是调用该函数的人希望得到的数据),这些数据 应该被定义成返回值。
    • 函数的内部实现过程。

2.函数的创建和调用

【1】定义函数,也就是创建一个函数,可以理解为创建一个具有某些用途的工 具。定义函数需要用 def 关键字实现

  • 定义函数
  • 函数输入(参数):num1 num2
  • 函数的输出(返回值):max_num
  • 定义为函数下面“ ” “写的信息是函数的帮助文档
  • num:int,告诉读代码的用户,num1需要改传的值是int ,如果不是也不会报错
#!/usr/bin/python3

def max_num(num1:int, num2:int)-->int:        #告诉读代码的用户,num1需要改传的值是int ,如果不是也不会报错
 """
 求两个数的最大值                              #此处"""为帮助文档
 """
 max = num1 if num1 > num2 else num2
 return max

print(help(max_num))

在这里插入图片描述
打印帮助文档:

在这里插入图片描述
【2】调用函数

  • 函数名(参数)
  • num1=10 num2=20,
#2.调用函数 函数名(参数)
result = max_num(10, 20)
print(result)

在这里插入图片描述
拿出最大值:

在这里插入图片描述

  • 定义一个什么事也不做的空函数,可以用 pass 语句;pass 可以用来作为占位符,还没想好怎么写 函数的代码,就可以先放一个 pass ,让代码能运行起来。
def login(username, password):
    pass

在这里插入图片描述

  • 定义函数时产生的参数叫形参,调用函数时产生的参数叫实参

3.函数参数的传递

【1】函数的优势:

  • 降低编程的难度
  • 代码重用。避免了重复劳动,提供了工作效率。
  • 定义时小括号中的参数,用来接收参数用的,称为 “形参”
  • 调用时小括号中的参数,用来传递给函数用的,称为 “实参”
    形参是形式参数,可以任意修改
    【2】函数参数的详解
  1. 必选参数:必须要传递的参数
  2. 默认参数:如果没有传递参数,使用默认参数,如果传递了参数,使用传递的参数。
  3. 可变参数:用户传递的参数个数可以变化的参数,一般情况下写作*args,数据以元组(tuple)的方式存储。
  4. 关键字参数:用户传递参数的个数可以是多个,并且每个参数需要两个信息(key-value),一般情况下使用**kwarge表示,数据以字典(dict)的方式存储。
    可变参数与关键字参数在面试时经常被提问
  • 默认参数:

在这里插入图片描述

  • 形参、实参、必选参数:在这里插入图片描述
  • 可变参数:在这里插入图片描述
    在这里插入图片描述
    多个值:
    在这里插入图片描述
    在这里插入图片描述求和:
def sum_num(*arges):
   # print("*args", args)
   # print("args type:", type(args))
    return sum(arges)
result = sum_num(10, 20, 3, 5, 8, 5)
print(result)

在这里插入图片描述
在这里插入图片描述

  • 也可以换一个方式代表可变参数:
    但是一般情况下建议使用*args
def sum_num(*nums):
   # print("*args", args)
   # print("args type:", type(args))
    return sum(nums)
result = sum_num(10, 20, 3, 5, 8, 5)
print(result)

在这里插入图片描述
在这里插入图片描述

  • 关键字参数:
    在这里插入图片描述

在这里插入图片描述

  • 三个双引号功能很多,此处为代码块注释:

在这里插入图片描述

4.匿名函数

【1】定义:匿名函数指一类无须定义标识符的函数或子程序。Python用lambda语法定义匿名函数, 只需用表达式而无需申明。(省略了用def声明函数的标准步骤)
【2】语法
lambda函数能接收任何数量的参数但只能返回一个表达式的值

lambda [arg1 [,arg2,.......argn]]:expression

在这里插入图片描述
在这里插入图片描述

5.递归函数

递归函数是一个自己调用自己的过程,要考虑什么时候跳出递归
return为返回函数的返回值,函数遇到return结束执行
阶乘:

#!/usr/bin/python3

def factorial(n):
    if n <=1:
        return 1
    return n * factorial(n-1)

result = factorial(3)
print("3!=%d" %(result))

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值