2.3.10 Python 函数进阶

名称空间

又名 name space。

说明:若变量 x=1, 1存放于内存中,那名字x存放在哪里?

名称空间正是存放名字x与1绑定关系的地方

名称空间共三种:

  • locals: 是函数内的名称空间,包括局部变量和形参
  • globals: 全局变量,函数定义所在的模块的名字空间
  • builtins: 内置模块的名字空间

不同变量的作用域不同,就是由于这个变量所在的命名空间决定的

作用域的范围

  • 全局范围:全局存活,全局有效
  • 局部范围:临时存活,局部有效

查看作用域的方法 globals(),locals()

原文地址:https://www.cnblogs.com/devopsxin/p/9466439.html

时间: 2024-10-10 14:26:53

2.3.10 Python 函数进阶的相关文章

Python 全栈开发:python函数进阶

python函数进阶 函数嵌套 函数对象 命名空间与作用域 闭包函数 装饰器 一.函数嵌套 函数的嵌套定义 def func1(): print('from func1') def func2(): #func2=内存地址 print('from func2') print(func2) func1() 函数的嵌套调用 # 比较两个数的大小 def max2(x,y): if x > y: return x else: return y # 比较三个数的大小 def max3(x,y,z): r

第六篇:Python函数进阶篇

在了解完了 Python函数基础篇之后,本篇的存在其实是为了整合知识,由于该篇的知识是否杂乱,故大家可以通过点开点连接直接进入其详细介绍,该篇主要大致的介绍一下几个知识点:  一.Python的迭代器和生成器 二.Python的内置函数 三.Python的open函数之文件处理 四.Python的递归函数 五.Python的高阶函数 六.Python的装饰器 一.Python的迭代器和生成器: 本篇我们介绍可迭代对象和迭代器对象--包括两者的定义及区别.为什么要有迭代器对象,其的用法是怎么样的

10. Python函数的进阶

?. 函数参数--动态传参 之前我们说过了传参, 如果我们需要给?个函数传参, ?参数?是不确定的. 或者我给?个 函数传很多参数, 我的形参就要写很多, 很?烦, 怎么办呢. 我们可以考虑使?动态参数. 形参的第三种: 动态参数 动态参数分成两种: 1. 动态接收位置参数 ?先我们先回顾?下位置参数, 位置参数, 按照位置进?传参 现在问题来了. 我想吃任意的食物. 数量是任意的, 食物也是任意的. 这时我们就要?到 动态参数了. 在参数位置编写*表?接收任意内容 动态接收参数的时候要注意:

Python - 函数进阶之装饰器

本章内容 高阶函数 装饰器 前言 接着上一篇函数进行整理.. 一.高阶函数 高阶函数就是将一个函数以参数的形式传入另一个函数 1 def main_func(func): 2 # 定义一个主函数,并设置一个参数func 3 4 return func 5 # 返回func的值,因为我需要传入一个函数,即返回func的返回值 6 7 def func(): 8 # 定义一个函数作为参数传入主函数 9 10 return "Lyon" 11 # 返回 "Lyon" 给f

13 Python 函数进阶

代码在运行伊始,创建的存储"变量名与值的关系"的空间叫做全局命名空间,在函数的运行中开辟的临时的空间叫做局部命名空间 命名空间和作用域 命名空间的本质:存放名字与值的绑定关系 1 >>> import this 2 The Zen of Python, by Tim Peters 3 4 Beautiful is better than ugly. 5 Explicit is better than implicit. 6 Simple is better than

Python 函数进阶

一.函数即变量 def say(name): print(name)ybq = say #可以被赋值给其他变量ybq('Amily') #调用函数 函数名:say 函数体:第1-2行 返回值:return 后的值 函数的内存地址:当函数体被读进内存后的保存位置,它由标识符即函数名say引用,                                                   也就是说say指向的是函数体在内存内的保存位置. 函数名加括号:  例如say(),函数的调用方法,只有见

Python函数进阶:闭包、装饰器、生成器、协程

返回目录 本篇索引 (1)闭包 (2)装饰器 (3)生成器 (4)协程 (1)闭包 闭包(closure)是很多现代编程语言都有的特点,像C++.Java.JavaScript等都实现或部分实现了闭包功能,很多高级应用都会依靠闭包实现. 一般专业文献上对闭包的定义都比较拗口,比如:“将组成函数的语句和这些语句的执行环境打包在一起时,得到的对象称为闭包.” 其实,简单来说,你可以将闭包看成是一个轻载的类,这个类只有一个函数方法,并且只有为数不多的几个成员变量. 闭包的优点是:实现起来比类稍微轻巧一

python 函数进阶class Student(object): @property def score(self): return self._score @score.setter def score(self, value): if not isinstance(value, int): raise V

1.类和实例 #类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的"对象",每个对象都拥有相同的方法,但各自的数据可能不同. #__init__ 方法 ,其第一个参数永远是self,print_score也是方法. name score 属性 class Student(object): def __init__(self, name, score):        self.name = name        self.score = score def p

10.python函数深入专题

对于默认参数,   其 仅仅会在函数生成的时候生成一次.  并不会在函数每一次调用的时候都生成一次. python的lambda函数也可以有默认参数 python中闭包中的变量在只有才其内部的函数被调用的时候才会向上查询. 所以可以用如下的hack: