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

本文涉及的产品
函数计算FC,每月15万CU 3个月
应用实时监控服务-用户体验监控,每月100OCU免费额度
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 本文介绍了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__ 模块 删除了
  • 是 怎么做的 来着?🤔
相关文章
|
9天前
|
人工智能 Python
[oeasy]python089_列表_删除列表项_remove_列表长度_len
本文介绍了Python列表(list)的操作方法,重点讲解了`remove`方法的使用。通过实例演示如何删除列表中的元素,探讨了`ValueError`异常产生的原因,并分析了时间复杂度O(n)的概念。同时提及了`clear`方法清空列表的功能及`len`函数获取列表长度的用法。最后以购物清单为例,展示列表的实际应用场景,并预告快速生成列表的方法将在后续内容中介绍。
111 62
|
5天前
|
人工智能 索引 Python
[oeasy]python091_列表_索引_index_中括号_索引函数
本文介绍了Python中列表与字符串的索引及index函数用法。通过range生成列表,使用索引[]访问和修改列表元素,index函数查找元素位置。字符串支持索引访问但不可直接修改。还探讨了16进制数在Python中的表示方法,以及日期、月份等特殊字符的Unicode范围。最后总结了列表与字符串操作的区别,并预告后续内容,提供蓝桥云课、GitHub和Gitee链接供进一步学习。
41 20
|
7天前
|
Python 容器
[oeasy]python090_列表_构造_范围_range_start_end_step_步长
本文介绍了Python中列表的生成方法,重点讲解了`range()`函数的使用。通过`range(start, stop, step)`可生成一系列整数,支持正负步长,但不支持小数参数。文章从基础的列表追加、直接赋值到复杂的应用场景(如生成等宽字体的月份列表),结合实例演示了`range()`的灵活性与实用性。最后总结了`range()`的关键特性:前闭后开、支持负数步长,并提供了进一步学习的资源链接。
41 14
|
18天前
|
Python
[oeasy]python086方法_method_函数_function_区别
本文详细解析了Python中方法(method)与函数(function)的区别。通过回顾列表操作如`append`,以及随机模块的使用,介绍了方法作为类的成员需要通过实例调用的特点。对比内建函数如`print`和`input`,它们无需对象即可直接调用。总结指出方法需基于对象调用且包含`self`参数,而函数独立存在无需`self`。最后提供了学习资源链接,方便进一步探索。
53 17
|
1天前
|
索引 Python
[oeasy]python092_eval_衡量_转化为列表
本文探讨了 Python 中 `eval` 函数的用法及其与字符串和列表之间的转换关系。通过实例分析,展示了如何使用 `eval` 将字符串转化为对应的数据类型,例如将表示列表的字符串转回列表。同时,文章深入讲解了 `eval` 的工作机制,包括根据本地和全局变量对字符串进行计算的能力。此外,还提醒了命名变量时需避免覆盖内置类名(如 `str`、`int`、`list`)的重要性,以免影响程序正常运行。最后,简要提及字符串和列表索引中负数的应用,并为读者提供了进一步学习的资源链接。
13 2
|
11天前
|
人工智能 Python
[oeasy]python088_列表_清空列表_clear
本文介绍了Python中列表的清空方法`clear`。通过实例讲解了`clear`与将列表赋值为空列表的区别,前者会清空原列表内容,而后者创建新空列表,不影响原列表。文中以收银程序为例,展示了`clear`的实际应用场景,并通过地址观察解释了两者的机制差异。最后总结了相关术语如`list`、`append`、`clear`等,帮助理解列表操作及方法调用的概念。
41 6
|
5天前
|
开发框架 Java .NET
Python中main函数:代码结构的基石
在Python中,`main`函数是程序结构化和模块化的重要组成部分。它实现了脚本执行与模块导入的分离,避免全局作用域污染并提升代码复用性。其核心作用包括:标准化程序入口、保障模块复用及支持测试驱动开发(TDD)。根据项目复杂度,`main`函数有基础版、函数封装版、参数解析版和类封装版四种典型写法。 与其他语言相比,Python的`main`机制更灵活,支持同一文件作为脚本运行或模块导入。进阶技巧涵盖多文件项目管理、命令行参数处理、环境变量配置及日志集成等。此外,还需注意常见错误如全局变量污染和循环导入,并通过延迟加载、多进程支持和类型提示优化性能。
32 0
|
1月前
|
存储 人工智能 索引
Python数据结构:列表、元组、字典、集合
Python 中的列表、元组、字典和集合是常用数据结构。列表(List)是有序可变集合,支持增删改查操作;元组(Tuple)与列表类似但不可变,适合存储固定数据;字典(Dictionary)以键值对形式存储,无序可变,便于快速查找和修改;集合(Set)为无序不重复集合,支持高效集合运算如并集、交集等。根据需求选择合适的数据结构,可提升代码效率与可读性。
|
2月前
|
安全 数据处理 索引
深入探讨 Python 列表与元组:操作技巧、性能特性与适用场景
Python 列表和元组是两种强大且常用的数据结构,各自具有独特的特性和适用场景。通过对它们的深入理解和熟练应用,可以显著提高编程效率和代码质量。无论是在数据处理、函数参数传递还是多线程环境中,合理选择和使用列表与元组都能够使得代码更加简洁、高效和安全。
78 9
|
8月前
|
存储 索引 Python
Python学习笔记----列表、元组和字典的基础操作
这篇文章是一份Python学习笔记,涵盖了列表、元组和字典的基础操作,包括它们的创建、修改、删除、内置函数和方法等。
Python学习笔记----列表、元组和字典的基础操作
下一篇
oss创建bucket