python基础名称空间与作用域

1.名称空间:存放名字与值的绑定关系

2.名称空间分为三种

1)内置名称空间:python解释器自带的名字,python解释器启动就会生成

2)全局名称空间:文件级别定义的名字都会存放于全局名称空间,执行python文件时会产生x=1def func():    passclass Foo():    passimport os

3)局部名称空间:定义在函数内部的名字,局部名称空间只有在调用函数时生效def func(x,y):    z=3

func(1,2)3.三者的加载顺序:内置名称空间》》全局名称空间》》局部名称空间4.取值:局部名称空间》》全局名称空间》》内置名称空间max=10def func():    max=20    print(max)

func()print(max)

5.作用域:作用范围全局作用域:内置名称空间与全局名称空间的名字属于全局范围,            在整个文件的任意位置都能被引用,全局有效局部作用域:局部名称空间的名字属于局部范围,            只在函数内部可以被引用,局部有效

局部作用域----->全局作用域print(globals())    #查看全局作用域的名字print(locals()) #查看局部作用域的名字
时间: 2024-11-05 15:49:14

python基础名称空间与作用域的相关文章

python 14 名称空间与作用域

目录 一.名称空间 1.1 内置名称空间 1.2 全局名称空间 1.3 局部名称空间 1.4 名称空间的一些顺序 二.全局作用域与局部作用域 三.global与nonlocal 一.名称空间 名称空间即存放名字与 对象映射/绑定关系的地方,是对栈区相互独立的划分,先开辟空间再放名称. 1.1 内置名称空间 用来存放一些内置的名字 伴随python解释器的启动而产生,关闭而回收,因而是第一个被加载的名称空间 1.2 全局名称空间 用来存放非内置的.非函数内定义的名字 伴随python文件的开始执行

python基础之====函数对象、函数嵌套、名称空间与作用域、装饰器

阅读目录 一 函数对象 二 函数嵌套 三 名称空间与作用域 四 闭包函数 五 装饰器 六 练习题 一 函数对象 一 函数是第一类对象,即函数可以当作数据传递 #1 可以被引用 #2 可以当作参数传递 #3 返回值可以是函数 #3 可以当作容器类型的元素 二 利用该特性,优雅的取代多分支的if def foo(): print('foo') def bar(): print('bar') dic={ 'foo':foo, 'bar':bar, } while True: choice=input(

python基础(3):函数对象、函数嵌套、名称空间与作用域、装饰器

函数对象 函数嵌套 名称空间与作用域 闭包函数 装饰器 练习 一 函数对象 #1 可以被引用 def max(x, y): return x if x > y else y func = max print(func(1, 2)) #2 可以当作参数传递 def max(x, y): return x if x > y else y def max_1(x, func): return func(x, 1) print(max_1(2, max)) #3 返回值可以是函数 #4 可以当作容器类

python基础13——名称空间与作用域

昨日review 0: 引用传递 python中所有值的传递,传递的都是不是值本身,而是值的引用,即内存地址 1.函数分为两大类,分别是是什么?二者在使用时有何区别? 内置函数 自定义函数 2.什么是形参.什么是实参?形参与实参之间的关系是什么? def func(x,y): print(x) func(1,2) 3.简述两只形参的区别:位置形参.默认形参 x=[] def func(name,age,gender=None):                                 #

Python:函数名称空间与作用域:

Python:函数名称空间与作用域 函数对象:(第一类对象) 定义:函数是第一类对象:函数名可以当做数据来使用 1.可以直接被引用,加()就能运行 def foo(): print("from foo") f=foo f() 2.可以当作参数传入另一个函数 def warpper(x): x() warpper(foo) 3.可以当作另外函数的返回值 def warpper2(): return foo f=warpper2() print(f is foo) 4.可以当作容器类型的一

函数基础之对象,嵌套,名称空间和作用域

函数对象 函数名和变量名是等同的 引用 函数的参数 函数的返回值 容器类元素 函数的嵌套 def f1(): def f2(): pass 函数的调用 def f1(): pass f1() def f2(): f1() # 函数必须得先定义后调用 名称空间与作用域 内置名称空间 Python解释器的内置方法,如 len/int/float, python解释器启动的时候就有了 全局名称空间 python文件执行的时候生成 局部名称空间 函数调用的时候生成 执行顺序 内置-->全局-->局部

python学习笔记第五节(函数,名称空间,作用域)

python2中 默认存为unicode需要再字符串前加u 循环打印每一行 循环打印整个文件内容方式二下面这种同一时间取一行 先定义后执行 函数定义的时候,只检测语法错误,不执行 函数返回值,默认是元组模式return 只能返回一次 形参与实参 形参就是变量名实参就是值 打破顺序限制 经常变化的值用位置形参,值通常不变的用默认参数.默认参数通常定义成不可变类型.默认参数只在定义时被赋值一次. 可变长参数就是* 关键字参数(关键字参数指的是实参当中指定y=2,z=3等等) *等同于位置参数 函数内

python之旅:函数对象、函数嵌套、名称空间与作用域、装饰器

一.函数对象 函数是第一类对象,即函数可以当作数据传递 #1 可以被引用 #2 可以当作参数传递 #3 返回值可以是函数 #3 可以当作容器类型的元素 # 利用该特性,优雅的取代多分支的if 二.函数嵌套 三.名称空间与作用域 四丶装饰器 原文地址:https://www.cnblogs.com/moyand/p/8667266.html

Python全栈__动态参数、名称空间、作用域、作用域链、加载顺序、函数的嵌套、global、nonlocal

1.动态参数 当实参数量与形参数量相等时,参数传递正常. def func1(a, b, c): pass func1(1, 2, 3) 当实参数量与形参数量不相等时,则会报错. def func1(a, b, c): pass func1(1, 2, 3, 4, 5, 6, 6) 用户传入到函数中的实参数量不确定时,或者为了以后扩展,此时要用到动态参数 *args  **kwargs(万能参数). 顺序: 位置参数,*args,默认参数,**kwargs 1.*args *args是接收的是所