[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块

简介: 本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括:1. **回忆上次内容**:上次提到使用下划线避免命名冲突。2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。

[词根溯源]如何删除print函数_dunder_builtins_系统内建模块

回忆上次内容

  • 上次 用到了  下划线
位置 作用
放后面 避免名字冲突

  • 为什么 很多本地变量
  • 两边 都有 两个下划线
  • __name__
  • __doc__
  • __builtins__
  • 有什么说法吗??🤔

询问

  • 双下划线
  • 是 系统建立的
  • 有特殊的含义
  • 去游乐场
  • 问问python本人

说明文档

  • 直接help主题的名字

help("IDENTIFIERS")

  • 查找 标识符的帮助

  • 两边双下划线
  • 代表 系统定义的标识符
  • 比如__builtins__

  • 突然发现print函数不在本地

删除

  • 可以删除print函数吗?

del print

  • 无法删除!

  • 如果我想删除呢?

找到位置

print

  • print是
  • built-in function
  • 内建模块 的 函数

  • 内建模块 是不是 就是
  • __builtins__ ???🤔

查看

type(__builtins__)

  • builtins 是 内建模块
  • print会不会在这个模块里?

  • 如何调用模块中的函数来着?

回忆火星文

  • 新艺术 是怎么清屏的呢?
  • 使用 系统命令
  • clear

os.system("clear")

  • os 是模块名
  • 后面的点(.) 表示里面的
  • system 是函数名

照猫画虎

__builtins__

__builtins__.print

__builtins__.print("Hello world!")

  • 确实找到了!
  • print 就是
  • __builtins__ 模块里的 函数

  • 能删除吗?

删除

del __builtins__.print

print

  • 带着模块名 一起删

  • 删完了
  • 就真的 连 print 都找不到了!!!😭
  • __builtins__
  • 这个系统模块
  • 太重要了!!!
  • 怎么读呢?

dunder来历

  • 两个下划线
  • Double UNDERscore
  • 省略读法 dunder

Dunder (Double UNDERscore) Alias

Mark  Jackson was the first to suggest dunder as a speech shorthand for  double underscores (__) in a reply to a query from Pat Notz. Ned  Batchelder later stressed the need for a way of pronouncing __:

An  awkward thing about programming in  Python : there are lots of double  underscores. [snip] My problem with the double underscore is that it's  hard to say. How do you pronounce init__? "underscore underscore  init underscore underscore"? "under under init under under"? Just plain  "init" seems to leave out something important. I have a solution:  double underscore should be pronounced "dunder". So __init is "dunder init dunder", or just "dunder init".

  • 最初 是为了 说起来省事
  • 连读 再加 吞字 得到的

对比

  • 在发明 dunder 之前
  • __init__ 要念作 double underscore init
  • 其中的double underscore
  • 有17个字符
  • 发音是6声
  • 而dunder
  • 只有6个字符
  • 发音是2声
  • 简单多了

  • dunder 意味着 这个变量
  • 系统定义 的!
  • 能删吗?🤪

删除

del __builtins__

__builtins__

  • __builtins__ 迅速重生
  • 快得就像韭菜

  • 能把这个__builtins__覆盖了吗?

总结

  • 这次玩的 还是  下划线
位置和数量 作用
一个放后面 避免名字冲突
两个放两边 系统变量

  • 能把内建模块(builtins)
  • 覆盖掉吗??🤔
相关文章
|
3月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
420 7
|
3月前
|
监控 安全 程序员
Python日志模块配置:从print到logging的优雅升级指南
从 `print` 到 `logging` 是 Python 开发的必经之路。`print` 调试简单却难维护,日志混乱、无法分级、缺乏上下文;而 `logging` 支持级别控制、多输出、结构化记录,助力项目可维护性升级。本文详解痛点、优势、迁移方案与最佳实践,助你构建专业日志系统,让程序“有记忆”。
293 0
|
3月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
202 0
|
3月前
|
JSON 算法 API
Python中的json模块:从基础到进阶的实用指南
本文深入解析Python内置json模块的使用,涵盖序列化与反序列化核心函数、参数配置、中文处理、自定义对象转换及异常处理,并介绍性能优化与第三方库扩展,助你高效实现JSON数据交互。(238字)
418 4
|
3月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
337 0
|
3月前
|
XML JSON 数据处理
超越JSON:Python结构化数据处理模块全解析
本文深入解析Python中12个核心数据处理模块,涵盖csv、pandas、pickle、shelve、struct、configparser、xml、numpy、array、sqlite3和msgpack,覆盖表格处理、序列化、配置管理、科学计算等六大场景,结合真实案例与决策树,助你高效应对各类数据挑战。(238字)
230 0
Python print() 打印两个 list ,实现中间换行
Python print() 打印两个 list ,实现中间换行
|
Python
Python 技巧篇-用print打印输出但不换行方法
Python 技巧篇-用print打印输出但不换行方法
4612 0
Python 技巧篇-用print打印输出但不换行方法
|
4月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
325 102

推荐镜像

更多