【Python学习笔记:6】函数+变量作用域

函数

可重复执行的代码块,通过 函数名() 调用执行,默认返回 None
函数名 小驼峰

语法

def 函数名():
    功能代码

注意

  • def 是 Python 定义函数的语法
  • 函数名是功能代码的标识,需要遵循标识符的命名规则
  • 功能代码作为语句块,必须缩进

函数的调用

语法
函数名()

注意

  • def 函数() 是定义函数,不是执行函数,函数需要调用才会执行
  • 函数必须先定义后调用
  • 多次执行,就多次调用

函数参数

函数参数分为形参、实参

函数返回值

如果函数执行后的结果数据需要参与后期运算,可通过 return 关键字返回函数执行的结果(返回值)

名称加强

匿名函数

用 lambda 关键词创建匿名函数,省略函数定义

语法
lambda 形参1, 形参2, ... : (函数代码语句)

冒号前是参数,冒号后是返回值

特点

  • 是没有函数名的函数
  • 函数体不需要写 return 返回

参数加强

主要3个:必需参数,关键字参数,默认参数

必需参数

定义函数时,如果形参没有默认值,该参数被称为 必需参数
调用时,必须以正确顺序传入实参,数量和形参一一对应

关键字参数

调用函数,给函数传递实参时,为每个实参取一个名字,这个名字就是形参的名字
作用:可交换实参的顺序
注意:关键字参数放后面

默认参数

调用函数,如果没有传递参数,则会使用默认参数

不定长参数打包

特点

  • 不定长,参数个数不固定
  • 打包,使用 元组 或 字典 把所有参数集合到一起

带*号参数以元组tuple形式封装并进行传递

不定长位置参数–*args(可变长度的参数)

设计多个数相加
语法

def 函数名([其他形参,] *可变形参)
    "函数_注释"
    功能代码
    return [返回值]

函数名(1,2, ...)

注意

  • 变参在参数列表有且只有一个,且只能写在最后(变参**除外)
  • 变参以元组进行封装传递

不定长关键字参数–**kwargs(可变长度的关键字参数)

语法

def 函数名([其他形参,] **可变形参)
    "函数_注释"
    功能代码
    return [返回值]

函数名(关键字参数1=1, 关键字参数2=2, ...)

返回值加强

return关键字作用

  • 把数据返回到函数的调用位置
  • 终止函数继续执行

无返回值(None)

  • return 仅用来退出函数的执行
  • 如果函数没有明确的 return 返回,函数默认返回一个 None 值

多种返回值

根据不同情况,设定多个 return,返回不同情况的值

返回多个值

一次返回多个值,需要多个变量来保存这些返回值
语法

def 函数名(形参1, 形参2):
    return 返回值1, 返回值2

变量1, 变量2 = 函数名(实参1, 实参2)

嵌套函数调用

一个函数里,调用另外的函数

变量的作用域

变量的有效范围
函数把变量分为局部变量和全局变量

  • 局部变量是函数内变量
  • 全局变量是函数外变量

局部变量

只在变量所定义的函数内使用,函数外和其他函数里不可被使用
调用时,开辟内存空间,函数调用结束就释放,节约空间,不受命名冲突

全局变量

默认情况

  • 可被程序中任何代码访问
  • 可被外部代码修改

注意

  • 全局变量可被任何地方的代码访问
  • 全局变量和局部变量同名,局部变量不会影响全局变量的值

global关键字

如果全局变量需要在函数中被修改,函数中使用 global 声明这个变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

饭碗、碗碗香

感谢壮士的慷概解囊!

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

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

打赏作者

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

抵扣说明:

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

余额充值