avatar

刘刚刚的blog

采菊东篱下,悠然见南山🦥

  • 首页
  • 大模型应用
  • 常用软件/工具
  • Halo
  • 关于
Home 5.python基础——名称空间
文章

5.python基础——名称空间

Posted 2020-07-13 Updated 2024-12- 10
By Administrator
3~4 min read

名称空间解决了编码过程不同的模块中命名重复的过程。


名称空间

名称空间是对栈区的划分,因为名称空间的存在,可以在栈区存放相同的名字

名称空间的种类

  1. 内置名称空间

    存放python解释器内置的名字

    存活周期:python解释器运行期间

  2. 全局名称空间

    存放非函数内、非内置的名字

    存活周期:文件执行期间

  3. 局部名称空间

    存放函数内定义的名字

    存活周期:调用函数时存活,调用结束则销毁

  • 名称空间的加载顺序:

​ 内置名称>全局名称空间>局部名称空间

  • 销毁顺序:

​ 局部名称空间>全局名称空间>内置名称空间

  • 名字查找优先级:

​ 当前所在名称空间向上

​ 局部名称空间>全局名称空间>内置名称空间

作用域

  1. 全局作用域:内置名称空间、全局名称空间

    作用范围:

    • 全局存活

    • 全局有效,被所有函数共享

  2. 局部作用域:局部名称空间的名字

    作用范围:

    • 临时存活

    • 局部有效:函数内有效

gloab与nonlocal

  1. 如果局部想要修改全局的值(不可变类型),需要使用global

    x = 222
    def func():
        global x
        x = 111 
  2. nonlocal

    函数嵌套时,修改最外边函数的值

python
python
License:  CC BY 4.0
Share

Further Reading

Apr 21, 2025

Typing

类型注释让python 有了更好的编辑器提示功能。 基础使用 对函数参数和返回值,进行类型注释 def surface_area_of_cube(edge_length: float) -> str:    return f"The surface area of the cube is {6 *

Feb 25, 2025

python多进程多线程下的计数及日志打印

注意点: 需要保证在多进程内的进程锁是同一个 需要保证在单进程中的多线程内线程锁是同一个 # logger.py import multiprocessing import threading ​ ​ class Logger_test:    def __init__(self, process

Dec 25, 2022

python-迭代器、生成器、协程

迭代器 Python中当容器对象提供了对迭代的支持时,可以通过container.__iter__()来返回一个迭代器对象。 迭代器需要支持以下两个方法,这两个方法共同构成了迭代器协议: iterator.__iter__() 该方法返回迭代器本身,这个方法是配合for和in使用所必须的。 iter

OLDER

python基础-杂项

NEWER

6.python基础——函数

Recently Updated

  • 文本切分-语义分割(Semantic Chunking)
  • dify 并发配置优化
  • Typing
  • 大模型返回中json_schema与json_mode的区别
  • Async

Trending Tags

Halo 运维 postgresql 设计模式 linux就该这么学 nas rag odoo python 文本切分

Contents

©2025 刘刚刚的blog. Some rights reserved.

Using the Halo theme Chirpy