Python中的Function定义方法第1/2页
2009-09-25 00:00
381 查看
下面就先定义一个函数:
在上述代码中,定义了一个名为foo的函数,这个函数没有参数。最后一行代码的功能是调用这个函数。这是一个函数的最简单形式。下面来介绍一下有参数的函数:
foo1就是一个有参数的函数,使用foo1(1,2)就可以调用这个有参的函数了。
在程序中,有变量存在,就会涉及到变量的作用域的问题。在Python中,变量的作用域分三个等级:global、local和nonlocal。
global:顾名思义,表示全局变量。即这个变量在python中处于最高层次上,也就是这个变量的定义层次最高,而不是在函数或类中。
local:局部变量,被定义在函数之中。
nonlocal:这是一个相对的概念。在python中,函数内部可以嵌套定义内部函数,这样函数内部的变量相对于函数内部的内嵌函数来讲就是nonlocal的。
下面,给出相关的程序来说明,首先看一下全局和局部变量:
在上述程序中,定义了两个全局变量x和y, 在函数foo内部,也定义了一个局部变量x。根据运行结果可知,在foo内部,变量x是真正的局部变量。因为对其所做的修改并没有对全局变量x产生影响。另外,如果在foo内部需要使用全局变量,则需要使用global关键字。global y的意图就是声明变量y为外部声明过的全局变量y。所以,在foo内部对y进行修改后,在foo外部仍然有影响。因为foo修改的是全局变量。
再来看一下nonlocal:
def foo(): print('function') foo()
在上述代码中,定义了一个名为foo的函数,这个函数没有参数。最后一行代码的功能是调用这个函数。这是一个函数的最简单形式。下面来介绍一下有参数的函数:
def foo(): print('function') def foo1(a,b): print(a+b) foo() foo1(1,2)
foo1就是一个有参数的函数,使用foo1(1,2)就可以调用这个有参的函数了。
在程序中,有变量存在,就会涉及到变量的作用域的问题。在Python中,变量的作用域分三个等级:global、local和nonlocal。
global:顾名思义,表示全局变量。即这个变量在python中处于最高层次上,也就是这个变量的定义层次最高,而不是在函数或类中。
local:局部变量,被定义在函数之中。
nonlocal:这是一个相对的概念。在python中,函数内部可以嵌套定义内部函数,这样函数内部的变量相对于函数内部的内嵌函数来讲就是nonlocal的。
下面,给出相关的程序来说明,首先看一下全局和局部变量:
x = 1 y = 2 def foo(x): print(x) print(y) print('***********') x = 3 global y y = 3 print(x) print(y) print('***********') foo(x) print(x) print(y) #************************ #运行结果 1 2 *********** 3 3 *********** 1 3
在上述程序中,定义了两个全局变量x和y, 在函数foo内部,也定义了一个局部变量x。根据运行结果可知,在foo内部,变量x是真正的局部变量。因为对其所做的修改并没有对全局变量x产生影响。另外,如果在foo内部需要使用全局变量,则需要使用global关键字。global y的意图就是声明变量y为外部声明过的全局变量y。所以,在foo内部对y进行修改后,在foo外部仍然有影响。因为foo修改的是全局变量。
再来看一下nonlocal:
def out(): z = 3 def inner(): nonlocal z z = 4 print('inner function and z = {0}'.format(z)) inner() print('out function and z = {0}'.format(z)) out() #********** #运行结果 inner function and z = 4 out function and z = 4
相关文章推荐
- function方法Javascript中函数定义方法比较
- ASP+MSSQL2000 数据库被批量注入后的解决方法第1/2页
- Python定义一个跨越多行的字符串的多种方法小结
- MySQL 自动备份与数据库被破坏后的恢复方法第1/2页
- 不比熊猫弱的可以穿透冰点5.7--6.2机器狗病毒解决办法与机器狗病毒的官方防御方法第1/2页
- Python中Function(函数)和methon(方法)
- XP系统优化和安全限制 IE相关修改方法与注册表文件第1/2页
- Python function 函数定义
- Python 类可以定义专用方法
- 在Python中定义和使用抽象类的方法
- 收集的比较全的automation服务器不能创建对象 异常原因和解决方法第1/2页
- NPOINT免费虚拟主机管理系统windows2003的安装方法【图文】第1/2页
- asp.net Server.MapPath方法注意事项第1/2页
- Python判断变量是否已经定义的方法
- Python学习札记(十一) Function2 函数定义
- 全面剖析Python的Django框架中的项目部署技巧第1/2页
- [译]2.Python扩展外置模块定义新类型——类型方法
- python 中判断变量是否定义方法
- 丢失的数据忘记备份的处理方法[图文]第1/2页