[oeasy]python049_[词根溯源]locals_现在都定义了哪些变量

简介: 本文介绍了Python中`locals()`函数的使用方法及其在调试中的作用。通过回顾变量赋值、连等赋值、解包赋值等内容,文章详细解释了如何利用`locals()`函数查看当前作用域内的本地变量,并探讨了变量声明前后以及导入模块对本地变量的影响。最后,文章还涉及了一些与“local”相关的英语词汇,如`locate`、`allocate`等,帮助读者更好地理解“本地”概念在编程及日常生活中的应用。

[词根溯源]locals_现在都定义了哪些变量_地址_pdb_调试中观察变量

回忆上次内容

  • 上次我们 了解了
  • 变量赋值
  • 连等赋值
  • 解包赋值
  • 所有对象
  • 变量 variable
  • 模块 module
  • 函数 function
  • 类 class
  • 都有 自己所属的 类型
  • 也都 在内存中 引用 唯一位置(id)
  • 这些数字 组成了 python系统

  • 现在 已经声明了 哪些变量 ?🤔
  • 可以 吗?🤔

询问

  • 新函数locals

local

  • 本地的

  • 动手试试

locals

  • 进入游乐场

locals

locals()

  • local是内建的函数
  • 可以查询到 本地的变量

  • 声明之前能查到吗?

变量的 声明和赋值

  • 声明之前
  • num是查不到

  • 第一次赋值时
  • 声明和赋值
  • 同时完成

  • 第二次赋值 呢?

纯赋值

  • 声明
  • 又用 等号赋值
  • 变量已经声明过了
  • 第二次 就是 赋值

  • locals函数怎么理解呢?

查手册

help(locals)

  • 返回 当前域scope 中
  • 本地变量 local variables
  • 的 字典 dictionary

  • 用locals()
  • 查询 本地变量
  • 用呢?

查查手里的牌

  • 本地的变量
  • 就像 手里的牌

  • 我现在有7和9

  • 差一个8
  • 构成789
  • 顺子

观察手里的牌

  • 再来一个8
  • 加上 手里的 7和9
  • 凑齐了 789

  • 就 可以
  • 用 手里的牌
  • 打出顺子
  • 本地变量
  • locals()
  • 进行输出

  • print函数
  • 明明 就在手边
  • 直接就可以用
  • 为什么 locals() 里面没有 呢?

内建函数

  • print 是
  • 内建的函数
  • builtin-function

  • 本地字典 locals里
  • 最后一个变量是
  • __builtins__模块

  • 他们之间有没有什么关系?

验证

  • 在本地变量 __builtins__ 模块里
  • 可以找到 print函数

  • 引入的模块
  • 也 可以出现在
  • 本地(locals)吗?

引入模块 前后

locals()

import os

locals()

import time

locals()

  • 引入一个模块
  • 就像 声明一个变量
  • 放到本地了

  • local 这个词 怎么来的呢?
  • 后面都是 和local相关的 单词
  • 可以 一并记下!😄

locate

  • local
  • 当地的
  • 本地的
  • 和地点有关

  • locate
  • 使他定位在某处

allocate

  • allocate
  • 安排位置
  • 配置资产

  • 分配空间、位置、名额

locomotive

  • locomotive
  • loco 位置、地点
  • motive 移动
  • 移动地点

  • 动力车头

位置

  • location
  • 地点
  • 定位
  • 位置

本地化

  • 游戏、软件
  • 需要本地化
  • localization

  • 会 有 本地化的策略

locale

  • locale
  • 发生地点
  • 场所
  • 也是一个shell命令

  • 本地的策略
  • 数字表示方式
  • 时区
  • 所用货币

总结

  • 这次我们了解了
  • locals函数
  • 列出 所有 本地变量
  • 声明变量、导入模块
  • 都会 让对象
  • 在本地 从

  • 能让 变量
  • 吗?🤔
相关文章
|
1月前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
116 80
|
7天前
|
人工智能 Unix Java
[oeasy]python059变量命名有什么规则_惯用法_蛇形命名法_name_convention_snake
本文探讨了Python中变量命名的几种常见方式,包括汉语拼音变量名、蛇形命名法(snake_case)和驼峰命名法(CamelCase)。回顾上次内容,我们主要讨论了使用下划线替代空格以提高代码可读性。实际编程中,当变量名由多个单词组成时,合理的命名惯例变得尤为重要。
36 9
|
13天前
|
C语言 Python
[oeasy]python058_一句话让python崩了
本文介绍了如何通过重新赋值`__builtins__`使Python环境崩溃,并探讨了下划线的来历及其在编程中的作用。文章回顾了上次内容,展示了覆盖内建模块导致系统崩溃的过程,解释了恢复方法,以及PEP 8规范中关于空格使用的建议。最后,文章总结了下划线在变量定义和提高代码可读性方面的重要性,并简述了其从打字机时代到计算机时代的演变。
23 10
|
23天前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
40 14
|
15天前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
26 3
|
17天前
|
存储 Python
[oeasy]python056_python中下划线是什么意思_underscore_理解_声明与赋值_改名字
在Python中,下划线有多种用途。单下划线(_)常用于避免命名冲突,如将`max`改为`max_`以保留内置函数功能。双下划线(__var__)通常用于特殊方法和属性,如`__name__`、`__doc__`等。此外,单下划线(_)在交互式解释器中表示上一次表达式的值,但不建议作为普通变量名使用。总结:下划线用于避免命名冲突及特殊标识。
22 1
|
1月前
|
C语言 Python
[oeasy]python054_python有哪些关键字_keyword_list_列表_reserved_words
本文介绍了Python的关键字列表及其使用规则。通过回顾`hello world`示例,解释了Python中的标识符命名规则,并探讨了关键字如`if`、`for`、`in`等不能作为变量名的原因。最后,通过`import keyword`和`print(keyword.kwlist)`展示了Python的所有关键字,并总结了关键字不能用作标识符的规则。
35 9
|
3天前
|
存储 人工智能 Python
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
本文介绍了Python中如何使用`input()`函数接收用户输入。`input()`函数可以从标准输入流获取字符串,并将其赋值给变量。通过键盘输入的值可以实时赋予变量,实现动态输入。为了更好地理解其用法,文中通过实例演示了如何接收用户输入并存储在变量中,还介绍了`input()`函数的参数`prompt`,用于提供输入提示信息。最后总结了`input()`函数的核心功能及其应用场景。更多内容可参考蓝桥、GitHub和Gitee上的相关教程。
7 0
|
1月前
|
Unix 编译器 C语言
[oeasy]python052_[系统开发语言为什么默认是c语言
本文介绍了C语言为何成为系统开发的首选语言,从其诞生背景、发展历史及特点进行阐述。C语言源于贝尔实验室,与Unix操作系统相互促进,因其简洁、高效、跨平台等特性,逐渐成为主流。文章还提及了C语言的学习资料及其对编程文化的影响。
28 5
|
2月前
|
机器学习/深度学习 存储 数据挖掘
Python 编程入门:理解变量、数据类型和基本运算
【10月更文挑战第43天】在编程的海洋中,Python是一艘易于驾驭的小船。本文将带你启航,探索Python编程的基础:变量的声明与使用、丰富的数据类型以及如何通过基本运算符来操作它们。我们将从浅显易懂的例子出发,逐步深入到代码示例,确保即使是零基础的读者也能跟上步伐。准备好了吗?让我们开始吧!
43 0