python笔记:3.3——3.4(变量作用域、递归调用)

3.3变量作用域

分类:按照作用域分类

  • 全局(global): 在函数外部定义
  • 局部(local):在函数内部定义

变量的作用范围:

  • 全局变量:在整个全局范围都有效
  • 全局变量在局部可以使用(即函数内部可以方位函数外部定义的变量)
  • 局部变量在局部范围可以使用
  • 局部变量在全局范围无法使用

LEGB原则

  • L(Local)局部作用域
  • E(Enclosing function locale)外部嵌套函数作用域
  • G(Global module)函数定义所在模块作用域
  • B(Buildin): python内置魔抗的作用域
    在这里插入图片描述

提升局部变量为全局变量

  • 使用global
  • 案例
  • 在这里插入图片描述

globals, locals函数

  • 可以通过globals和locals显示出局部变量和全局变量

  • 案例

  • 在这里插入图片描述

  • eval()函数

  • 把一个字符串当成一个表达式来执行, 返回表达式执行后的结果

  • 语法:

          eval(string_code, globals=None, locals=None)
    

exec()函数

  • 跟eval功能类似, 但是,不返回结果
    - 语法:

3.4递归函数

  • 含税直接或者间接调用自身
  • 优点:简洁,理解容易
  • 缺点:对递归深度有限制,消耗资源大
  • python对递归深度有限制,超过限制报错
  • 在写递归程序的时候,一定注意结束条件
    在这里插入图片描述
    在这里插入图片描述

    内置数据结构(变量类型)

  • list
  • set
  • dict
  • tuple

list(列表)

  • 一组由顺序的数据的组合
  • 创建列表
    • 空列表
      在这里插入图片描述

列表常用操作

  • 访问
    • 使用下标操作(索引)
    • 列表的位置是从0开始
  • 分片操作
    • 对列表进行任意一段的截取
    • l[:]
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    分片操作是生成一个新的list

  • 内置函数id,负责显示一个变量或者数据的唯一确定编号
  • 在这里插入图片描述
  • 在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值