[oeasy]python069_当前作用域都有些什么_列表dir_函数_builtins

简介: 本文介绍了Python中`dir()`函数的使用方法及其作用。`dir()`可以列出当前作用域内的所有变量和成员,类似于`locals()`,但`dir()`不仅限于本地变量,还能显示模块中的所有成员。通过`dir(__builtins__)`可以查看内建模块中的所有内建函数,如`print`、`ord`、`chr`等。此外,还回顾了`try-except-finally`结构在数据库连接中的应用,并解释了为何`print`函数可以直接使用而无需导入,因为它位于`__builtins__`模块中。最后,简要提及了删除`__builtins__.print`的方法及其影响。

dir_函数_得到当前作用域的所有变量列表_builtins

回忆上次内容

  • 上次了解了 try 的完全体
  • try
  • 尝试运行
  • except
  • 发现异常时运行的代码块
  • else
  • 没有发现异常时运行的代码块
  • finally
  • 无论是否发现异常最终都要运行的代码块

  • 上图就是python连接数据库的类库psycopg中
  • try的具体应用
  • 如果成功 就 提交commit
  • 如果失败 就 回滚rollback
  • 无论成功失败 都要 断开连接
  • 为什么print函数
  • 不用声明和导入?🤔
  • 直接就能用呢?🤔

回忆过去

  • 为什么 python
  • 能认识 print?
  • 而不认识 pront??🤔

  • 上次 把print函数 删除了
  • 是怎么做的来着?🤔

删除 print 函数

  • print
  • 是内建模块的成员函数
del __builtins__.print
  • 删除__builtins__.print
print
  • 想要再找print

  • 也出现了 NameError
  • name 'print' is not defined!😊
  • print果然是__builtins__的成员
  • 具体的 帮助细节
  • 怎么查呢?

help(print)

  • 什么不会 就help什么
  • help(print)
  • 把函数名 作为参数 传进去
help(print)
  • 喊救命也没有用

重启游乐场

python3
  • 重启游乐场
help(print)
  • 再喊救命

  • print是
  • 系统 内建模块(__builtins__)中的 函数

类似

  • 类似的 还可以
  • help(ord)
  • help(chr)
  • help(input)

  • 都是 in module builtins
  • builtins 具体是什么呢?

locals

  • 查看本地变量

  • locals函数 返回值
  • 既有变量名
  • 又有变量的值
  • builtins 前后 都有 双下划线
  • 双下划线 叫做 dunder
  • __builtins__ 念作 dunder builtins
  • builtins里面都有什么?
  • 我能对着他喊救命吗?

查看帮助

help(__builtins__)
  • 查看帮助

  • 这模块里有些什么?

浏览

  • 按 方向键
  • 可以翻阅文档
  • 内容 真的很多 啊
  • 找找 我们 的 老熟人

  • NameError 是
  • __builtins__ 内建模块 里面的
  • 一个成员
  • 类似的还有
  • ValueError
  • TypeError
  • IndentationError

继续观看

  • ctrl + f
  • 向前翻阅
  • forward
  • ctrl + b
  • 向后翻阅
  • backward
  • 操作方法 与vim 相同

  • 想要直接 跳转到 print函数那里

查找函数

  • 按下 /
  • 再键入print
  • 进行搜索
  • 注意左下角
  • 回车

  • n
  • 下一个匹配单词
  • next
  • N
  • 上一个匹配单词

找到位置

  • 更精准搜索
/print\(
  • 找到 print的帮助

对比

help(print)
help(__builtins__.print)
  • 这和help(print)完全一样

  • print 是 __builtins__ 里面的 内建函数
  • 其中.(点)的意思 就是 里面的
  • __builtins__ 这个模块 就是 里面的内建模块
  • 查询 成员
  • 更快的办法吗?

查询函数

  • 输出__builtins__.
  • 按下tab 查看成员
  • 有很多成员类、错误
  • 大驼峰命名法

  • 很多熟悉的身影

继续

  • 后面的是成员函数
  • 蛇形命名法
  • 老熟人不少

  • 还有 什么更快的方法
  • 可以 查询 模块中的成员 吗?

问问ai

  • python3(游乐场) 中
  • 键入 dir()
dir()

内置 函数

  • dir的 意思 是
  • directory(文档目录)

  • dir函数  列出
  • 自带模块 列表
  • 这 和 locals()很像啊
  • 我们去试试
  • 变量a的一生

过程

  • 换个角度观察

  • 让我们祈祷
  • a 往生 极乐世界
  • dir() 和 locals()
  • 太像了
  • 有啥区别呢?

locals()

  • locals函数 呢
  • 不但 有变量名
  • 还有 变量的值
  • 返回的是 所有本地成员的 字典

  • 但是只能看本地
  • 当前作用域之下的
  • dir呢?

dir

help(dir)
  • dir()可以得到
  • 当前作用域(scope)内
  • 所有成员 列表

  • dir函数 还可以将 模块作为 参数
  • 列出 模块中的成员
  • 比如 去看看 __builtins__
  • 有哪些成员

dir()

  • dir(__builtins__)

  • 看见 很多 老熟人
  • 他们 都是 干什么的 来着?
  • 你还 记得 吗?

总结

  • 游乐场里面 已经有了一些函数
  • ord
  • chr
  • print
  • 这些函数 位于 __builtins__ 模块
  • 都是 内建函数

  • 新函数 dir
  • 可以 查询
  • 模块中的 成员
  • 上次 把__builtins__ 模块 删除了
  • 是 怎么做的 来着?🤔
相关文章
|
2月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
205 1
|
2月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
300 1
|
2月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
183 0
|
2月前
|
开发者 Python
Python列表推导式:优雅与效率的完美结合
Python列表推导式:优雅与效率的完美结合
410 116
|
2月前
|
Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
442 119
|
2月前
|
Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
|
2月前
|
索引 Python
Python 列表切片赋值教程:掌握 “移花接木” 式列表修改技巧
本文通过生动的“嫁接”比喻,讲解Python列表切片赋值操作。切片可修改原列表内容,实现头部、尾部或中间元素替换,支持不等长赋值,灵活实现列表结构更新。
130 1
|
2月前
|
大数据 开发者 Python
Python列表推导式:简洁与高效的艺术
Python列表推导式:简洁与高效的艺术
|
2月前
|
索引 Python
098-python列表_切片_slice_开始_结束
本文介绍了Python中列表的切片(slice)操作,通过“前闭后开”原则截取列表片段,支持正负索引、省略端点等用法,并结合生活实例(如切面包、直播切片)帮助理解。切片不改变原列表,返回新列表。
249 4
|
Python 编译器 Windows
Python标准模块和Python dir() 函数
Python附带了一个标准模块库,在单独的文档Python库参考(以下称为“库参考”)中进行了描述。一些模块内置于解释器中;它们提供对不属于语言核心但仍然内置的操作的访问,以提高效率或提供对系统调用等操作系统原语的访问。

推荐镜像

更多