函数二

不定长参数

  • 我们在定义函数的时候可以在形参前加入一个 * 号,这样这个形参可以获取所有的实参,并将所有的实参保存进一个元组当中
    注意:

    • 带 * 号的形参只能有⼀个,我们可以配合其他的形参使用
    • *形参只能接受位置参数,不能接受关键字参数在这里插入图片描述
  • **形参可以接收其他的关键字参数,它会将这些参数统⼀保存到字典当中。字典的key就是参数的名字,字典的value就是参数的值

  • 注意: **形参只有一个,并且必须写在所有形参的后面在这里插入图片描述

函数的返回值

  • 返回值就是函数运算后返回的结果
  • 我们可以通过return来指定函数的返回值
  • return后⾯可以跟任意对象,返回值甚⾄可以是⼀个函数在这里插入图片描述

函数的作用域

  • 概念
    • 作用域指的是变量生效的区域
  • 作用域分为全局作用域和函数作用域
    • 全局作用域
      • 全局作用域在程序执行时创建,在程序执行结束时销毁
      • 所有函数以外的区域都是全局作用域
      • 在全局作用域中定义的变量,都是全局变量,全局变量可以在程序的任意置进行访问
    • 函数作用域
      • 函数作用域在函数调用时创建,在调用结束时销毁
      • 函数每调用⼀次就会产生⼀个新的函数作用域
      • 在函数作用域中定义的变量,都是局部变量,它只能在函数内部被问。
  • 函数作用可访问全局 作用域 可全局作用域看不见函数作用域
a = 100
def fn()
	a = 10
	print('函数内部=',a)
fn ()
print('函数外部'a)

输出:函数内部= 10
	  函数外部= 100

递归函数

  • 递归是解决问题的⼀种方式,它的整体思想是将⼀个大问题分解为⼀个个 的小问题,直到问题无法分解时,再去解决问题。
  • 递归式函数有2个条件
    • 基线条件:问题可以被分解为最小问题,当满足基线条件时,递归就不执行了
    • 递归条件:可以将问题继续分解的条件
      在这里插入图片描述

课堂练习

  • 定义⼀个函数,⽤来检查⼀个任意的字符串是否是回⽂字符串,如果是返 回True,不是返回False。回⽂字符串从前往后念和从后往前念是⼀样的。 例如 TNT在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值