您的位置:首页 > 编程语言 > Python开发

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

2019-05-08 12:29 197 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/LeBron_Jamess/article/details/89949506

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,负责显示一个变量或者数据的唯一确定编号
  • 内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: 
    相关文章推荐