目录

一、函数声明

声明函数的一般形式:

示例:求一个列表中所有整数之和

二、函数调用


函数是一组语句的集合,用以实现某一特定的功能。函数可以简化脚本,Python 本身提供了许多内置函数,极大地方便了脚本的编写。例如,可以使用 print 函数输出计算结果,使用 input 函数接收用户的输入。除了系统内置的函数之外,程序员还可以根据需要编写自己的函数。

当自定义函数很多时,为了方便这些函数的管理,可将函数分类保存到不同的模块中。因此,模块可以看做是一组函数的集合。许多函数库在Python中都是以模块的形式提供的,例如,系统中的 os 模块提供了对系统操作的一系列函数。

在编写脚本的过程中,经常要完成许多重复的工作。此时就可以将完成重复工作的语句提取出来,将其编写为函数。在脚本中可以方便地调用函数来完成这些重复的工作,而不必重复的复制粘贴代码。

在Python中,函数必须先声明,然后才能在脚本中使用。使用函数时,只要按照函数定义的形式向函数传递必需的参数,就可以调用函数完成所需的功能。

一、函数声明

在Python中,使用 def 可以声明一个函数。完整的函数是由函数名、参数以及函数实现语句组成的。在函数中也要使用缩进来表示语句属于函数体。

如果函数有返回值,那么需要在函数中使用 return 语句返回计算结果。

  • 声明函数的一般形式:

def <函数名> (参数列表):<函数语句>return <返回值>
# 其中参数和返回值不是必须的。很多函数可能既不需要传递参数,又没有返回值。

  • 示例:求一个列表中所有整数之和

    • 其参数 L 为所要求和的列表,result 是列表中所有整数的和,最后函数使用 return 将 result 返回

注:

  • 在Python中声明一个函数时,不需要声明函数类型,也不需要声明参数的类型。
  • Python在实际调用函数的过程中,不需要为不同类型的参数声明多个函数,或不需要在处理不同类型数据的时候调用相应的函数。
  • 大部分情况下可以用同一个函数调用不同的数据类型。

上述代码只声明了一个 PrintAll(X) 函数,并没有指定参数的类型。函数调用的时候,不仅可以向其传递一个列表,还可以向其传递一个元组。 可以看到,不管参数作为一个列表,还是一个元组,函数都能被准确地执行。

当然,这并不表示可以向函数传递任何参数,其主要还是取决于函数的实现。在 PrintAll(X) 函数中,只使用了 for 循环语句,以及 print 函数,他们都对所操作的对象没有特别的要求,因此韩束才得以正确地执行。

虽然Python中的函数灵活性很强,但这也意味着一旦出现问题,只有在脚本运行的时候才能被发现。

二、函数调用

在Python中调用自定义函数与系统内置函数的方法相同,只要使用函数名指定要调用的函数,然后在函数名后的圆括号中给出函数的参数即可。如果有多个参数,则不同的参数要以 "," 隔开。

需要注意的是,即使函数不需要参数,也要在参数名后使用一对空的圆括号。

函数调用必须在函数声明之后。

>>> def hi ():      # 不需要传递参数,也没有返回值
...     print('hi, tutu')
...
>>> hi()          # 调用函数,使用一对空括号
hi, tutu          # 函数运行的结果,而不是返回值
>>> hi            # 只输入函数名,而不加括号
<function hi at 0x031907C8>    # 返回的是函数在内存中的地址
>>> def ListSum ( L ):
...     result = 0
...     for i in L:
...         result = result + i
...     return result
...
>>> l = [ 1, 2, 3, 4, 5 ]
>>> r = ListSum (l)        # 调用 ListSum 函数,传递 l 为参数,将 r 赋值为函数的返回值
>>> print(r)               # 输出 r 的值
15
>>> r = hi()               # 将 r 赋值为 hi 函数的返回值
hi, tutu
>>> print(r)               # 输出 r 的值
None                       # 表示函数无返回值,也可以理解为函数返回的值为 None

初学__Python——Python 自定义函数相关推荐

  1. Python自定义函数的创建、调用和函数的参数详解

    这篇文章主要介绍了Python自定义函数的创建.调用和函数的参数.变量作用域等常见问题,需要的朋友可以参考下 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性 ...

  2. python自定义函数参数_python自定义函数的参数之四种表现形式

    (1)def a(x,y):print x,y 这是最常见的定义方式,调用该函数,a(1,2)则x取1,y取2,形参与实参相对应,如果a(1)或者a(1,2,3)则会报错 (2)def a(x,y=3 ...

  3. vba里使用python自定义函数(xlwings)

    http://club.excelhome.net/thread-1452827-1-1.html 今天讲一下怎么在vba里面使用python的自定义函数.在vba板块提下python主要是pytho ...

  4. python 自定义函数

    python自定义函数 一.函数定义 二.函数参数 三.函数嵌套 四.函数变量作用域 五.闭包 一.函数定义 # 定义一个函数 def my_func(input_text):print(input_ ...

  5. Python 自定义函数的两种类型(wzl)

    python自定义函数 1.第一种自定义函数形式为: def function(x,y):return 'result' 2.第二种自定义函数形式为: y=lambda x:x+1 第一种自定义函数形 ...

  6. python使用什么关键字来定义,使用( )关键字来创建python自定义函数。

    相关题目与解析 使用下列哪种关键字来创建Python自定义函数? 使用()关键字创建自定义函数 使用()关键字创建自定义函数. Python中定义函数关键字为(). python中定义函数的关键字是( ...

  7. python自定义函数详解_Python自定义函数

    自定义函数 使用def定义函数,例如: def my_abs(x) : if x >= 0 : return x else : return -x 函数可以返回多个值,但是这是假象,实际上函数返 ...

  8. Python 自定义函数和参数类型

    目录 1. 自定义函数 2. 参数 (1)必备参数 (2)关键字参数 (3)默认参数 (4)不定长参数 1. 自定义函数 Python 提供了很多内置函数如 set(),  print() 等,用户也 ...

  9. python自定义函数func_python自定义函数与面向对象

    前言 python的最大特点就是dynamically typed就是动态类型,不像java需要定义数据类型 引入 先从一段代码引入: 1 2 3 4 5 6 7 8 9 10class Dog(): ...

最新文章

  1. 创建三维建筑可视化和虚拟现实的最快和最简单的方法
  2. Win10命令行激活 电脑组装
  3. 无监督学习与有监督学习的本质区别是什么_吴恩达老师课程笔记系列第三节-无监督学习定义...
  4. uber在限制新司机加入了,看看新政策把
  5. div自动滚动_实现图片自动和手动切换的编程技巧
  6. Smzzl with Greedy Snake 模拟-贪心-阅读理解
  7. Angular 内容投影 content projection 关于条件渲染问题的单步调试
  8. vue 拖动 datatransfer 问题_electron-vue跨平台桌面应用开发实战教程(四)——窗口样式amp;打开新窗口...
  9. @Valid不起效,发现BindingResult读取不到Error信息
  10. pytorch查看loss曲线_pytorch loss总结与测试
  11. Struts2入门到放弃
  12. 人列计算机 (节选自《三体》作者:刘慈欣)
  13. basler相机参数简要中文说明_basler相机参数设置
  14. 体系结构14_控制相关的动态解决技术
  15. 事物的开始和结束命令分别是什么_5. 详解Redis中的事务
  16. BZOJ3786: 星系探索(伪ETT)
  17. 蓝桥杯:解救小哈最短路径
  18. 转:感想东莞,想想东莞为外来工做了什么?
  19. Arai2自动添加tracker链接的方法
  20. NV12 和 NV21的区别

热门文章

  1. 【ABAP】OO ALV 概述
  2. LSMW批处理使用方法(13)_步骤18
  3. 从IT人士到IT经理倪应该学会的30 项技能
  4. 如何查看SE16N修改的表的记录
  5. 小鸭脖大生意——绝味鸭脖背后的故事
  6. Transformation XML(TCODE-STRANS)
  7. function收集
  8. 作业帮、猿辅导、学而思们,正在经历自己的高考
  9. ad采集 cube配置 dma_【技术技巧】 使用MCC数据采集设备获取模拟波形
  10. linux服务器无网络确认,Linux服务器故障排查实用指南