python自动化--函数(对象,嵌套,名称空间与作用域)

函数(对象)

函数是第一对象:函数可以当做数据来使用,

x=10

可以被引用

y=x

可以当做参数传入一个函数

def foo(m):

    print(m)

foo(x)

可以当做函数的返回值

def  bar():

       return x

print(bar())

可以当做容器类型的

print([x,1,2])

 

下面一个实例 模拟用户进入数据库中查找表的命令。

执行结果如下:

函数(嵌套)

1,函数的嵌套调用:在调用一个函数的过程中,又调用其他的函数。

 

2,函数的嵌套定义:在定义一个函数内部,又定义了一个函数。

函数(名称空间与函数域)

名称空间:存放名字与值的绑定关系的地方。

内置名称空间:

      存放的是  内置的名字与值的绑定关系

      生效 python解释器启动

      失效 python解释器关闭

全局名称空间:

       存放的是  文件级别定义的名字与值的绑定关系

       生效  执行python文件时,以该文件级别定义的名字与值的绑定关系存放起来

      失效   文件执行完毕

局部名称空间:

     存放的是   函数内部定义的名字与值的绑定关系

    生效 调用函数是,临时生效。

     失效 函数调用结束了,失效。

加载顺序 先内置 再全局 最后局部

查找名字的顺序:先局部,再全局,最后内置

举一个查找名字的例子:

作用域:

全局作用域:包含内置名称空间的名字与全局名称空间的名字

                    全局存活,全局有效。

局部作用域:包含局部名称空间的名字

                   临时存活,局部有效。

作用域关系,在函数定义时,就已经固定了,与调用位置无关

下面的例子是打破层级限制。

俩个变量的使用案例

posted @ 2018-01-04 15:01  wqx951  阅读(333)  评论(0编辑  收藏  举报