python学习笔记(五)函数

一、函数的定义及调用

1、为什么要用函数?

  • 提高代码的复用性
  • 提高代码的可维护性
  • 将复杂的程序分而治之——模块化设计思想

2、函数的定义及调用

2.1、定义
def 函数名(参数):
函数体
return 返回值
2.2、调用
函数名(参数)
eg1:
在这里插入图片描述

3、参数传递

3.1 形参和实参

  • 形参:函数定义时候的参数,实际上就是变量名

  • 实参:函数调用时的参数,实际上就是变量的值
    3.2、位置参数

  • 严格按照位置顺序,用实参对形参进行赋值(关联)

  • 一般在参数比较少的时候

  • 实参与形参必须一 一对应
    eg2:
    在这里插入图片描述
    3.3、关键字参数

  • 打破位置限制,直呼其名地进行值传递(形参=实参)

  • 必须遵守实参与形参在位置上的一一对应

  • 多用在实参较多的场合
    eg3:

在这里插入图片描述

  • 位置参数 可以和关键字参数一起使用但是位置参数必须放在关键字参数前面。

  • 不能为同一参数重复传值
    eg4:重复传值
    在这里插入图片描述
    3.4、默认参数

  • 在定义阶段就给形参赋值

  • 机器学习中该类方法非常常见

  • 调用函数时,可以不对该形参进行传值
    eg5:不对默认参数进行传值
    在这里插入图片描述

  • 也可以按正常传值
    eg6:正常传值
    在这里插入图片描述

  • 位置形参必须在默认前面

  • 默认参数必须是不可变类型,比如数字、字符串和元组。

  • 如何让参数变成可选的?把其中一个默认赋值为None
    eg7:
    在这里插入图片描述

  • 可变长参数“args”(这个形参必须放在参数,列表最后面)最后的实参可以加*打散
    eg8:
    在这里插入图片描述

  • 可变长**kwargs
    eg9:
    在这里插入图片描述

4、函数体与变量作用域

  • 函数体就是一段只有函数被调用时,才会执行的代码
  • 局部变量——仅在函数体内定义和发挥作用
  • 全局变量——外部定义的都是全局变量,可以在函数体内直接被使用
  • 可以通过global在函数体内定义全局变量
    eg10:
    在这里插入图片描述

5、返回值

  • 一般以元组形式返回
  • 执行到return就不会再执行
  • 没有return,返回值是None

6、几点建议

  • 要有实际意义
  • 小写字母和下划线组成函数名
  • 函数前后个空两行
  • 单元测试用assert,返回false时出发异常

7、常用用法,sort(),sorted()

  • sort()永久升序排序
  • sorted暂时性升序排序
  • 降序排序可以在后面加一个“reverse=True”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亿朵发发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值