函数_命名空间和作用域

#函数进阶----命名空间和作用域

# a = 1# def func():#     print(a)# func() 调用是可以的

# def func():#     a = 1## func()# print(a) 不可以的

#命名空间和作用域# print()# input()# list# tuple#命名空间有三种# 内置的命名空间--------->python解释器    #就是python解释器一启动就可以使用的名字存储在内置命名空间中    #内置的名字在启动解释器的时候被加载到内存里

# 全局命名空间----------->我们写的代码,但不是函数中的代码    #是在程序从上到下执行的时候,依次加载到内存的    #放置了我们设置的所有的变量名和函数名

# 局部命名空间----------->函数    #函数内部定义的名字    #当调用函数的时候,才会产生这样的名称空间,随着函数的执行的结束,这个命名空间就结束了

#在局部:可以使用全局,可以使用内置命名空间#在全局:可以使用内置命名空间,不能使用局部(使用结束了,内存消失)#在内置:不能使用全局和局部的,因为没有读到

# def func():#     a = 1## func()# print(a)

# def input():#     print("you are lovely")## input()

# def max():#     print(‘有啊‘)

# print(max([1,2,3]))#在正常情况下,我们使用全局的名字#我们在全局定义了和内置空间中使用相同的名字,会使用全局的名字#当我们自己有的时候,就用自己的.# 如果自己没有,就找s上一级要.,上一级没有再找上一级,如果到内置没有的话就报错.(内置--->全局--->局部)# 使用的时候(局部---->全部--->内置)

# def input():#     print("up")## def func():#     input()# func()#可以 打印出来是 up

# def func():#     print("123")

# func ----->函数名指向函数地址# 函数名()--->函数的调用# 函数的内存地址()--->函数的调用# print(if(func))## def func1():#     a = 1## def func2():#     print(a)# 这个是不对的,没有办法调用,各个局部函数内容是独立的

#作用域有两种#全局作用域-------作用在全局-----内置和全局#局部作用域-------作用在局部-----函数

# a = 1# def func():##     a += 1## print(a)

# 对于不可变数据类型,在局部可以查看全局变量# 但是不能修改# 但是global可以修改全局变量

# a = 1# def func():#     global a#     a += 1#     print(a)# func()# print(a)

# a = 1# b = 2# def func():#     x = "aaa"#     y = "bbb"#     print(locals())### # func()# print(globals())

# 也可以传参和返回值得到相应的结果

原文地址:https://www.cnblogs.com/jly1/p/9576322.html

时间: 2024-10-10 10:14:08

函数_命名空间和作用域的相关文章

Python 函数对象 命名空间与作用域 闭包函数 装饰器 迭代器 内置函数

一.函数对象 函数(Function)作为程序语言中不可或缺的一部分,但函数作为第一类对象(First-Class Object)却是 Python 函数的一大特性. 那到底什么是第一类对象(First-Class Object)呢? 在 Python 中万物皆为对象,函数也不例外,函数作为对象可以赋值给一个变量.可以作为元素添加到集合对象中.可作为参数值传递给其它函数,还可以当做函数的返回值,这些特性就是第一类对象所特有的. 1.函数身为一个对象,拥有对象模型的三个通用属性:id.类型.和值.

day12函数的命名空间,作用域,闭包等

一.三元表达式 if条件成功的值    if  条件   else else条件成功的值 #if条件成立的结果 if 条件 else else条件成立的结果 # a = 20 # b = 10 # c = 5 if a>b else 10 # print(c) 二.函数的命名空间 命名空间一共分为三种: 全局命名空间 局部命名空间 内置命名空间 *内置命名空间中存放了python解释器为我们提供的名字:input,print,str,list,tuple...它们都是我们熟悉的,拿过来就可以用的

【Python 函数对象 命名空间与作用域 闭包函数 装饰器 迭代器 内置函数】

一.函数对象 函数(Function)作为程序语言中不可或缺的一部分,但函数作为第一类对象(First-Class Object)却是 Python 函数的一大特性. 那到底什么是第一类对象(First-Class Object)呢? 在 Python 中万物皆为对象,函数也不例外,函数作为对象可以赋值给一个变量.可以作为元素添加到集合对象中.可作为参数值传递给其它函数,还可以当做函数的返回值,这些特性就是第一类对象所特有的. 1.函数身为一个对象,拥有对象模型的三个通用属性:id.类型.和值.

函数的命名空间和作用域

一.函数的命名空间 命名空间:name space是从名称(name)到对象(object)上的映射. 当一个name映射到一个object上时,这个name和这个object就有了绑定(bind)关系,或者说这个name指向了这个object. 每个name只对应一个object,而一个object可有多个名字.这就是类与实例的关系. 不同的命名空间在不同的时刻被创建,并且有不同的生命周期. 内置的命名空间在python解释器启动的时候创建的,并且一直保留,不会删除. 在python程序中的任

Python基础day-6[函数,命名空间,作用域]

函数的返回值 通常有参函数是需要返回值的. 返回值的几种形式: 1.如果函数内没有return就返回None 2.return 返回的数据类型没有限制,也可以返回多个值,以元组形式,括号可加可不加 return的效果: 终止函数的执行,只能返回一次值. 函数参数的使用 python是一种弱类型的语言,参数可以传入任何类型数据 形参与实参:可以理解为形参就是变量名,而实参就是变量值 def foo(x,y) #x,y 是形参 return x+y foo(1,2) #1,2 是实参 位置参数:按照

函数(命名空间和作用域)

命名空间: 内置命名空间:就是解释器一启动就可以使用的名字,存储在内置命名空间内,启动解释器时加载到内存: 全局命名空间:在程序从上到下被执行的工程中依次加载到内存,放置我们设置的所有变量名和函数名: 局部内存空间:就是函数内部定义的名字.当调用函数时会产生这个命名空间,随着函数执行结束,这个命名空间就消失了: 在局部:可以使用全局和内置命名空间的名字:多个函数拥有多个局部命名空间,互不共享. 在全局:可以使用内置空间的名字,但不能使用局部空间的名字. 在内置:不可以使用全局及局部空间的名字:

Python(56)_命名空间和作用域

1  全局命名空间 a = 1 def fun(): print(a) fun() 原文地址:https://www.cnblogs.com/sunnybowen/p/10247259.html

python开发函数进阶:命名空间,作用域,函数的本质,闭包,内置方法(globales)

一,命名空间 #局部命名空间#全局命名空间#内置命名空间 #三者的顺序#加载顺序 硬盘上--内存里#内置-->全局(从上到下顺序加载进来的)-->局部(调用的时候加载) 1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 4 #全局命名空间 5 a = 5 6 b = 8 7 #局部命名空间(函数) 8 def my_max(): 9 c = a if a > b else b 10 return c 11 m = my_max() 12 pr

python入门基础-三元表达式、命名空间、作用域、函数名本质、闭包

1.三元表达式(三目运算式) #1 三元表达式(三目运算法) #格式为: 为真时的结果 if 判定条件 else 为假时的结果 #另外三元表达式只适合较为简洁的条件判定,较为复杂的判定建议不要用这种方式写代码,因为比较让他人难以理解. a = 10 b = 15 compare = a if a > b else b #谁大返回谁 print(compare) 2.命名空间(namespace) #2 命名空间(namespace) #命名空间是名称和对象的印象,也可以将命名空间理解成一个字典,