[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)
  • 覆盖掉吗??🤔
相关文章
|
22天前
|
人工智能 Shell 开发工具
[oeasy]python062_在python中完成输入和输出_input_print
本文介绍了在Python中使用`input()`和`print()`函数完成输入和输出操作的基础知识。通过编写简单的程序,如问候用户和统计苹果数量,演示了如何添加提示信息、处理用户输入并输出结果。同时,回顾了上一次课程内容,包括`input`函数的参数和提示词的使用。文中还展示了如何在vim编辑器中编写和运行Python代码,并对vim和shell的基本操作进行了总结。最后提供了相关学习资源链接,方便读者进一步学习。
111 66
|
2天前
|
人工智能 Shell 开发工具
[oeasy]python065python报错怎么办_try_试着来_except_发现异常
本文介绍了Python中处理异常的基本方法,重点讲解了`try`和`except`的用法。通过一个计算苹果重量的小程序示例,展示了如何捕获用户输入错误并进行处理。主要内容包括: 1. **回顾上次内容**:简要回顾了Shell环境、Python3游乐场和Vim编辑器的使用。 2. **编写程序**:编写了一个简单的程序来计算苹果的总重量,但发现由于输入类型问题导致结果错误。 3. **调试与修正**:通过调试发现输入函数返回的是字符串类型,需要将其转换为整数类型才能正确计算。
45 32
|
5天前
|
缓存 Shell 开发工具
[oeasy]python064_命令行工作流的总结_vim_shell_python
本文总结了命令行工作流中的关键工具和操作,包括vim、shell和Python。主要内容如下: 1. **上次回顾**:完成了输入输出的代码编写,并再次练习了vim的使用。 2. **shell基础**:介绍了shell环境及其基本命令,如`pwd`、`cd`、`ll -l`等。 3. **Python游乐场**:通过`python3`命令进入Python交互环境,可以进行简单计算和函数调用,常用函数有`help`、`ord`、`chr`等。 4. **vim编辑器**:详细讲解了vim的三种模式(正常模式、插入模式、底行命令模式)及其切换方法,以及常用的底行命令如`:w`、`:q`、`
44 15
|
1月前
|
人工智能 Unix Java
[oeasy]python059变量命名有什么规则_惯用法_蛇形命名法_name_convention_snake
本文探讨了Python中变量命名的几种常见方式,包括汉语拼音变量名、蛇形命名法(snake_case)和驼峰命名法(CamelCase)。回顾上次内容,我们主要讨论了使用下划线替代空格以提高代码可读性。实际编程中,当变量名由多个单词组成时,合理的命名惯例变得尤为重要。
76 9
|
1月前
|
C语言 Python
[oeasy]python058_一句话让python崩了
本文介绍了如何通过重新赋值`__builtins__`使Python环境崩溃,并探讨了下划线的来历及其在编程中的作用。文章回顾了上次内容,展示了覆盖内建模块导致系统崩溃的过程,解释了恢复方法,以及PEP 8规范中关于空格使用的建议。最后,文章总结了下划线在变量定义和提高代码可读性方面的重要性,并简述了其从打字机时代到计算机时代的演变。
34 10
|
1月前
|
存储 Python
[oeasy]python056_python中下划线是什么意思_underscore_理解_声明与赋值_改名字
在Python中,下划线有多种用途。单下划线(_)常用于避免命名冲突,如将`max`改为`max_`以保留内置函数功能。双下划线(__var__)通常用于特殊方法和属性,如`__name__`、`__doc__`等。此外,单下划线(_)在交互式解释器中表示上一次表达式的值,但不建议作为普通变量名使用。总结:下划线用于避免命名冲突及特殊标识。
30 1
|
27天前
|
存储 人工智能 Python
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
本文介绍了Python中如何使用`input()`函数接收用户输入。`input()`函数可以从标准输入流获取字符串,并将其赋值给变量。通过键盘输入的值可以实时赋予变量,实现动态输入。为了更好地理解其用法,文中通过实例演示了如何接收用户输入并存储在变量中,还介绍了`input()`函数的参数`prompt`,用于提供输入提示信息。最后总结了`input()`函数的核心功能及其应用场景。更多内容可参考蓝桥、GitHub和Gitee上的相关教程。
16 0
|
3月前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
153 62
|
3月前
|
数据可视化 Python
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性
|
3月前
|
Python
Python的模块和包
总之,模块和包是 Python 编程中非常重要的概念,掌握它们可以帮助我们更好地组织和管理代码,提高开发效率和代码质量
133 61