>>> def hello_world():

...     print('Hello,world!')   # 注意函数体要有缩进

...

>>> hello_world()

Hello,world!

这个函数不带任何参数,它的功能是打印出“Hello,world!”。最后一行代码hello_world()是调用函数,即让Python执行函数的代码。

2、全局变量和局部变量

全局变量是定义在所有函数外的变量。例如,定义一个全局变量a,分别在函数test1()和test2()使用变量a:

>>> a = 100   # 全局变量

>>> def test1():

...     print(a)

...

>>> def test2():

...     print(a)

...

>>> test1()

100

>>> test2()

100

定义了全局变量a之后,在函数test1()和test2()内都可以使用变量a,由此可知,全局变量的作用范围是全局。

局部变量是在函数内定义的变量,除了用关键字global修饰的变量以外。例如,在函数test1()内定义一个局部变量a,分别在函数外和另一个函数test2()内使用变量a:

>>> def test1():

...     a = 100   # 局部变量

...     print(a)

...

>>> def test2():

...     print(a)

...

>>> test1()

100

>>> print(a)

Traceback (most recent call last):

File "", line 1, in

NameError: name 'a' is not defined

>>> test2()

Traceback (most recent call last):

File "", line 1, in

File "", line 2, in test2

NameError: name 'a' is not defined

Python解释器提示出错了。由于局部变量a定义在函数test1()内,因此,在函数test1()内可以使用变量a,但是在函数外或者另一个函数test2()内使用变量a,都会报错,由此可见,局部变量的作用范围是定义它的函数内部。

一般情况下,在函数内声明的变量都是局部变量,但是采用关键字global修饰的变量却是全局变量:

>>> def test1():

...     global a   # 全局变量

...     a = 100

...     print(a)

...

>>> def test2():

...     print(a)

...

>>> test1()

100

>>> print(a)

100

>>> test2()

100

这个程序与上个程序相比,只是在函数test1()中多了一行代码“global a”,程序便可以正确运行了。在函数test1()中,采用关键字global修饰了变量a之后,变量a就变成了全局变量,不仅可以在该函数内使用,还可以在函数外或者其他函数内使用。

如果在某个函数内局部变量与全局变量同名,那么在该函数中局部变量会覆盖全局变量:

>>> a = 100   # 全局变量

>>> def test1():

...     a = 200   # 同名局部变量

...     print(a)

...

>>> def test2():

...     print(a)

...

>>> test1()

200

>>> test2()

100

由于在函数test1()中定义了一个与全局变量同名的局部变量a,因此,在函数test1()中全局变量a的值被局部变量覆盖了,但是在函数test2()中全局变量a的值没有被覆盖。

综上所述,在Python中,全局变量保存的数据供整个脚本文件使用;而局部变量只用于临时保存数据,变量仅供局部代码块使用。

python def函数报错详解_python所有内置函数的定义详解相关推荐

  1. python __call__一般用在哪些地方_Python __call__内置函数的作用和用法

    开学了进入了实验室,需要协助大师兄做事,主要是OpenStack中的代码解析,但是涉及很多python高级用法,一时间有点麻烦,在做项目的同时慢慢更新博客.这次先写一下__call__的用法,因为经常 ...

  2. python内置函数( )可以返回列表长度_python(内置函数)

    一.python内置函数 1.id()返回对象的内存地址 a = 1 print id(a) print id(1) 2.int()用于将数据类型转换为整型 a = "1" b = ...

  3. Python中lambda详解(包括内置函数map、reduce、filter、sorted、max)

    文章目录 一.lambda是什么? 1.lambda语法 2.语法详解 二.lambda的使用 1.定义 2.调用 3.替换 4.作返回值 三.lambda作参数 1.map函数 2.reduce函数 ...

  4. 【Python养成】常用内置函数 — 2(详解25个内置函数)

    图片来自互联网 文章目录 前言 二.内置函数详解 1.函数:chr(x) 2.函数:dir([obj]) 3.函数:divmod(x,y) 4.函数:enumerate(sequence, [star ...

  5. python求最小值不能使用min和sotred_python基础——内置函数

    python基础--内置函数  一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highl ...

  6. python max函数_Python max内置函数详细介绍

    Python max内置函数 max(iterable, *[, key, default]) max(arg1, arg2, *args[, key]) Return the largest ite ...

  7. python模块的函数_python模块内置函数

    python提供了一个内联模块buildin,该模块定义了一些软件开发中经常用到的函数,利用这些函数可以实现数据类型的转换.数据的计算.序列的处理等. 模块的内置函数: 1.apply():可以调用可 ...

  8. python内置函数表示2的10次幂_Python常见内置函数用法(二)

    本文作者:孙雪丽 文字编辑:杨慧琳 技术总编:张学人重大通知!!!2019年6月22日至24日在河南郑州举行Stata编程技术特别训练营,招生工作已经圆满结束.另外爬虫俱乐部将于2019年7月5日至7 ...

  9. python内置函数入门_Python入门-内置函数一

    什么是内置函数?就是python给你提供的拿来直接用的函数,比如print,input等等,截止到python版本3.6.2 python一共提供了68个内置函数,他们就是python直接提供给我们的 ...

最新文章

  1. 我使用Python和Django在自己的网站上建立了一个会员专区。 这是我学到的东西。
  2. readv和writev函数
  3. centos 7 yum 安装 python3
  4. 【安全漏洞】SRC另类思路分享:不受限制的资源调用
  5. centos-安装python3.6环境并配置虚拟环境
  6. 开源NewSQL – CockroachDB在百度内部的应用与实践
  7. 什么时候使用resulttype_ResultMap和ResultType在使用中的区别
  8. 书法的艺术 —— 大家的作品
  9. iOS开发之UITableView自定义Header视图和自定义Footer视图
  10. Spring源码编译及阅读源码入门
  11. sai钢笔图层编辑路径工具如何取消选择
  12. 开发DSP硬件驱动程序的一种方法
  13. 技术江湖--讲座笔记
  14. 手机相册怎么拼图?快来和我学习新方法
  15. 《搜索》— NYOJ 42—一笔画问题
  16. returned a response status of 405 Method Not Allowed
  17. Jmeter录制脚本fiddler fiddler录制jmeter脚本
  18. 数据湖与数据仓库的新未来:阿里提出湖仓一体架构
  19. 初中数学503个必考知识点_初中数学:21个必考知识点+重难点!打印背熟,3年不下130+!...
  20. RK3399平台开发系列讲解(USB设备驱动)5.34、UDC设备控制器驱动代码详解

热门文章

  1. [MATLAB学习笔记]Rng函数
  2. VisualStudioCode 中设置中文语言【图文教程】
  3. mariadb mysql版本对应_弹指神通MariaDB——MariaDB与MySQL各版本的区别
  4. python数字处理技巧(1): 精度舍入、精确运算、格式化、进制数、大数打包解包、复数、NaN、分数
  5. Delphi中拖动无边框窗口的5种方法
  6. 【CyberSecurityLearning 78】DC系列之DC-9渗透测试
  7. 文件没有图标,无法打开(以pdf为例)
  8. java中删除字符串的头尾空白符。
  9. Oracle查询忽略大小写的实现方法
  10. Unicode、UTF-8 和 ISO8859-1到底有什么区别(转载)