下面就先定义一个函数:

代码如下:

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

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

python中function是什么意思_Python中的Function定义方法相关推荐

  1. Python基础_第3章_Python中的循环结构

    Python基础_第3章_Python中的循环结构 文章目录 Python基础_第3章_Python中的循环结构 Python中的循环结构 一.回顾分支练习题 1.判断是否为一个合法三角形 2.求世界 ...

  2. Python基础_第5章_Python中的数据序列

    Python基础_第5章_Python中的数据序列 文章目录 Python基础_第5章_Python中的数据序列 Python中的数据序列 一.字典--Python中的==查询==神器 1.为什么需要 ...

  3. python中function函数的用法_Python中Function(函数)和methon(方法)

    在Python中,对这两个东西有明确的规定: 函数function -- A series of statements which returns some value toa caller. It ...

  4. python运行mcmc为何老出错_python中mcmc方法的实现

    MCMC方法在贝叶斯统计中运用很多,MIT发布的EMCEE是实现的比较好的.介绍页面在下面.源代码中examples里的代码可以帮助理解各种功能,特别是line.py 列出了最小二乘法,最大似然法和M ...

  5. python中列表实现去重使用_Python实现嵌套列表去重方法示例

    发现问题 python嵌套列表大家应该都不陌生,但最近遇到了一个问题,这是工作中遇到的一个坑,首先看一下问题 raw_list = [["百度", "CPY"] ...

  6. python中的命名空间指什么_python中命名空间

    原文章 由一个例子到python的名字空间 .这篇文章对python的命名空间做出了非常好的介绍,这里是我自己的一些理解. 例子1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

  7. python将多个列表合并_Python中多个列表与字典的合并方法

    Python中多个列表与字典的合并方法 1多列表的合并 1)a+=b a=['','',''] b = ['','',''] a += b print(a) >>>['','','' ...

  8. python round(1234.5678、-2)_Python中你不知道的特性

    内置函数print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) 本函数是实现对象以字符串表示的方式格式化输出到流文件对象fil ...

  9. python post与get的区别_python中get和post有什么区别

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.sfkyty.com ...

  10. python把文件读成字节流_Python中对字节流/二进制流的操作:struct

    前言 前段时间使用Python解析IDX文件格式的MNIST数据集,需要对二进制文件进行读取操作,其中我使用的是struct模块.查了网上挺多教程都写的挺好的,不过对新手不是很友好,所以我重新整理了一 ...

最新文章

  1. 资源分享 | 统计学最全思维导图,附下载链接
  2. 网上商城留言板的实现——留言展示到留言板
  3. How to Create a Development Package ?
  4. Spring Cloud部分源码分析Eureka,Ribbon,Feign,Zuul
  5. php zip怎么安装,php如何安装zip模块?(方法介绍)
  6. 前端学习(3267):js中this在类中的表现
  7. 华南师范大学计算机学院广东录取,华南师范大学2020年广东省各批次分专业录取分数统计(含位次)...
  8. Python学习入门4:学习Python无从下手?最好的免费资源想要拿走
  9. 若有下列共用体定义_练习题-第十章 结构体与共用体(有答案)
  10. iwrite提交不了作业_痛点!为什么开发了那么多软件,还是解决不了教学问题!...
  11. Initial Audio Urban Essentials Heatup3 Expansion Mac(都市流派音色库)v1.0特别版
  12. windows 7 安装 db2 v11.1 下载 安装教程
  13. 中国地图全图 中国卫星地图 谷歌地图高清卫星地图
  14. HUPlayer 使用向导和常见问题
  15. google与百度地图api体验笔记
  16. excel表格打印每页都有表头_excel单页表格打印带连续页码的多页
  17. coap协议说明及函数使用
  18. 2021涅普冬令营Misc笔记与题解
  19. 100个相见恨晚的Python库
  20. PythonStock(16):使用bokeh 展示,股票中的16个常用指标

热门文章

  1. 汇编dos系统调用(输入输出篇)
  2. 以太网MDIO总线调试笔记
  3. 模拟CMOS集成电路设计中的电流基准源及用Cadence Virtuoso IC617设计并仿真有关电路
  4. css border设置为透明
  5. android 图层绘画分析,Android-绘图机制总结
  6. 防火墙的数据包拦截方式
  7. 鼎立MOS测试设备调试
  8. 数字签名的原理及其应用
  9. AutoCAD 二次开发
  10. 快速排序的C语言实现