Python中的Function定义方法第1/2页
时间:2021-05-10 20:33:49
下面就先定义一个函数:
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
12下一页阅读全文
标签:Python,Function
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Keras目标检测mtcnn facenet搭建人脸识别平台
2023-09-28 07:02:01
![](https://img.aspxhome.com/file/2023/8/90838_0s.png)
基于Python把网站域名解析成ip地址
2021-08-23 05:31:06
![](https://img.aspxhome.com/file/2023/8/87928_0s.png)
Python字体反爬实战案例分享
2021-06-18 01:00:46
![](https://img.aspxhome.com/file/2023/9/75929_0s.png)
python实现简易的学生信息管理系统
2021-08-24 12:07:09
25个出色的使用叶子的logo设计
2009-12-29 12:53:00
![](https://img.aspxhome.com/file/UploadPic/20101/11/1113360-10s.jpg)
数据库连接字符串的常见问题和解决方法
2008-11-28 15:16:00
纯CSS图片预加载
2009-10-28 18:40:00
解决phpmyadmin中缺少mysqli扩展问题的方法
2023-07-13 02:30:12
python绘制散点图和折线图的方法
2021-08-24 04:27:56
![](https://img.aspxhome.com/file/2023/4/93624_0s.jpg)
python实现合并两个数组的方法
2022-05-30 21:40:11
python中元类用法实例
2023-10-24 19:12:29
对python实时得到鼠标位置的示例讲解
2022-02-21 10:01:25
![](https://img.aspxhome.com/file/2023/0/85380_0s.jpg)
python traceback捕获并打印异常的方法
2022-11-06 10:35:30
Python 常用string函数详解
2021-01-27 02:59:54
python用字节处理文件实例讲解
2023-07-18 12:44:50
Js实现仿msn的右下角popup提示窗口
2007-12-27 20:30:00
![](https://img.aspxhome.com/file/UploadPic/200712/27/20071227212229674s.gif)
初瞥 Google Chrome Frame
2009-10-06 14:41:00
![](https://img.aspxhome.com/file/UploadPic/200910/6/medium-75s.jpg)
python3.6 实现AES加密的示例(pyCryptodome)
2022-07-05 08:17:08
![](https://img.aspxhome.com/file/2023/4/82764_0s.png)
Python判断一个文件夹内哪些文件是图片的实例
2023-08-18 01:22:44
python音频处理用到的操作的示例代码
2021-05-11 22:05:19
![](https://img.aspxhome.com/file/2023/2/95472_0s.png)