函数

为了便于程序的维护和更好的实现模块化,好的程序都会分解为很多函数。

可以这么说,对于任何的编程语言,函数都是一个非常重要的概念。

python 不仅简化了函数的定义过程,而且还大量借鉴了其他函数编程语言中的优秀特性。

本章内容非常重要!

一、 函数的概念和作用

1.1什么是函数

函数就是把完成特定功能的一段代码封装起来。给该功能起一个名字(函数名)。

哪里需要实现该功能就在哪里调用该函数。

函数可以在任何时间任何地方调用。

所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用。

1.2 函数的作用

  • 函数是能完成某一功能的代码段

  • 函数是可重复执行的代码段

  • 函数方便管理和维护,便于复用

二、函数的使用

2.1 函数的使用步骤

  1. 定义函数:封装独立的功能

  2. 调用函数:就是执行函数。(调用几次就函数执行几次)

2.2 函数的定义

使用函数之前一定要先定义。

python 的函数定义非常简单。

函数定义语法:

def 函数名([形参列表]):    函数体

说明:

  1. def 是定义函数的关键字。(define function)

  2. 函数名是这个函数的符号(引用),调用这个函数的时候我们需要函数名。

  3. 函数名后的圆括号是必须的。

  4. 形参列表表示我们可以定义多个形参,接受函数调用时传递过来的参数。形参不是必须的,根据需要决定是否需要定义形参

  5. 圆括号后面必须有一个冒号:.

  6. 新起一行,必须有缩进来定义函数体。函数体就是函数每次调用的时候都会执行的代码。

    示例代码:

# 定义无参函数def show():    print("我是函数内的代码1")    print("我是函数内的代码2")

# 定义有参函数,形参在函数内部可以作为普通变量使用。def show1(a, b):    print(a + b)

定义函数名称的规则:

  1. 可以由字母,下划线,和数字组成

  2. 数字不能开头

  3. 不能与关键字重名

  4. 多个单词小写使用下划线拼接:get_sum

2.3 函数的调用

定义函数的目的是为了让函数做一些事情。

但是函数如果仅仅定义不会自己去执行。

时刻记住一句话,函数只有被调用才能被执行!

所以想要函数执行,必须显示的去调用函数。

在使用函数的时候,一定要保证声明在前,调用在后!

2.3.1 简单函数调用

函数调用非常简单,只需要: 函数名(实参)即可。当然如果函数定义的时候没有形参,则就不用实参。

def show():    print("我是函数内的代码1")    print("我是函数内的代码2")

show()    # 调用函数show()    # 一个函数可以多次调用。每次调用都会执行一次函数体的代码show()


2.3.2 带形参的函数调用

函数声明的时候,在括号内的是形参。

那么在调用函数的时候应该传递相同属性的参数过去,函数调用的时候的参数,叫做实参!

形参和实参的个数必须匹配,但是有一种情况除外,后面再说。

def add(a, b):    print(a + b)

add(2, 3)add(20, 3)

2.4函数的返回值

我们定义的函数可以完成一个的功能,很多情况下,功能完成之后需要给函数调用者返回一些数据,这些返回的数据就需要用到函数的返回值功能。

返回值就是函数执行完毕后返回给调用处的结果

2.4.1.return的使用

比如:定义一个函数可以实现两个数的相加,然后返回给调用者计算的结果!

def add(a, b):pass    n = a + breturn n

print(add(3, 5))print(add(30, 5))

说明:

  1. 在函数内任何地方都可以出现returnreturn的作用就是结束函数,并把return后面的值返回给调用者。

  2. 一旦碰到 return,不管后面有多少代码,不管是否处于循环中,函数都会立即结束。

  3. 如果整个函数内部没有出现return,则函数会自动执行到函数体最后一行代码。

  4. 如果函数体内没有return,则函数运行结束的时候自动返回None

  5. return后面也可以不跟返回值,这种情况下主要是为了结束函数,也会返回None (return None可以简写为return。)

案例1:一个给定的数,判断是否为质数

分析:定义一个函数,这个给定的数通过参数传递,最后结果:是否为质数,通过返回一个bool值给调用者。质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。

def is_prime(num):for i in range(2, num):if num % i == 0:return False

return True

num = int(input("请输入一个整数:"))if is_prime(num):    print("%d 是质数!" % num)else:    print("%d 不是质数!" % num)

案例2:计算输入的任意两个数之间所有的质数的和

分析:刚才已经定义了判断一个是否为质数,现在需要再定义一个可以计算两个数之间所有的质数的和的函数,并把计算结果返回给调用者。

def is_prime(num):for i in range(2, num):if num % i == 0:return False

return True

def add_prime(num1, num2):    sum = 0for num in range(num1, num2+1):if is_prime(num):            sum += num

return sum

num1 = int(input("请输入第一个整数:"))num2 = int(input("请输入第2个整数:"))print("%d 到 %d 的之间所有的质数的和是:%d" % (num1, num2, add_prime(num1, num2)))

2.4.2.返回多个值

使用return一次只能返回一个值。

有些场景下,我们需要返回多个值。这种情况下我们我们可以把返回值的封装到listtuple中,接受者拿到这个listtuple直接解包就可以使用了。

最好封装在tuple中,因为tuple是不可变的, 所以效率比较高。

def foo(x):return x ** 2, x ** 3, x ** 4

x = 4a, b, c = foo(x)

print("%d 的平方是:%d, 3次方式:%d, 4次方是:%d" % (x, a, b, c))

2.5 文档注释

以前我们使用 # 来我们的代码添加注释,只使用单行注释。

我们定义了一个好函数,函数的描述等信息也应该让调用者很容易获取到,这个时候就用到文档注释。

文档注释将来可以直接生成 api 文档方便阅读。

如果要给函数添加文档注释,直接在函数内部的首行放置一个字符串即可。字符串可以是单行的(" "或者' '),也可以是是多行的(""" """ 或 ''' ''')。

但是一般使用多行字符串来定义

作为国际惯例:

  1. 注释的第一行,一般是对函数的简述。

  2. 然后一个空行。

  3. 然后开始进行详细描述函数功能等。

def foo(x):"""该函数是对参数做一些计算    计算参数的多个次幂    :param x:  要计算次幂的数字    :return:  返回2次幂、3次幂、4次幂组成的元组    """return x ** 2, x ** 3, x ** 4

print(foo.__doc__)  # 打印函数的文档注释

c++ 一个函数包括多个返回值判断_Python函数的概念和使用相关推荐

  1. c++ 一个函数包括多个返回值判断_轻松玩转函数式编程

    最近和一些同学讨论了函数式编程,很多同学总觉得听起来很高大上,但用起来却无从下手.于是我抽时间捋了捋,将平时工作中用到的函数式编程案例和思想整理了出来,相信阅读本文后,大家都能快速上手函数式编程. 函 ...

  2. c++ 一个函数包括多个返回值判断_go语言学习笔记(10)-函数、包的使用

    跳转控制语句-continue 1:continue语句用于结束本次循环,继续执行下一次循环. 2:continue语句出现在多层嵌套的循环语句体中时,可以通过标签指明要跳过的是哪一层循环,这个和前面 ...

  3. python中map函数返回值类型_Python函数精解:map函数

    描述 map() 会根据提供的函数对指定序列做映射. 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表. 语法 m ...

  4. python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce、map、filter)

    python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce.map.filter) Python 中函数的应用非常广泛,比如 input() .print().range( ...

  5. php 函数返回值mixed,认识函数的类型、参数与返回值

    函数的类型.参数与返回值 一.函数的基本语法语法 functionfunctionName(类型限定参数列表):返回值类型 { } 案例:计算两个数之和. functionsum(int$a,int$ ...

  6. Shell函数返回值、删除函数、在终端调用函数

    Shell 也支持函数.Shell 函数必须先定义后使用. Shell 函数的定义格式如下: function_name () {list of commands[ return value ] } ...

  7. return两个返回值_23.1 函数的返回值(二)

    函数的返回值格式 function 函数名(){return 需要返回的结果;}函数名(); 注意: (1)函数只是实现某种功能,最终的结果需要返回给函数的调用者函数名(),通过 return 实现. ...

  8. Shell函数:Shell函数返回值、删除函数、在终端调用函数

    函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高.像其他编程语言一样,Shell 也支持函数.Shell 函数必须先定义后使用. Shell 函数的定义格式如下: f ...

  9. python函数体中可以不写返回值语句_python让函数不返回结果的方法

    1.简单介绍print和return的区别,print仅仅是打印在控制台,而return则是将return后面的部分作为返回值:作为函数的输出,可以用变量接走,继续使用该返回值做其它事. 2.函数需要 ...

最新文章

  1. 栈的应用——迷宫的非递归解法
  2. MATLAB作图方法与技巧(二)
  3. JS数组的迭代器方法
  4. linux安装程序过程,linux 应用程序安装过程
  5. 什么是响应式设计?为什么要做响应式设计?响应式设计的基本原理是什么?...
  6. 【前端 · 面试 】HTTP 总结(七)—— HTTP 缓存概述
  7. c语言格式化浮点数多余的0
  8. TASLP | 从判别到生成:基于对比学习的生成式知识抽取方法
  9. linux查找符合条件的文件并删除
  10. MSSQL存储过程调用 C#DLL
  11. 分布式事务之基础理论(CAP/BASE理论)篇
  12. 计算机装机常用英语词汇,组装生产常用英语专用词汇.doc
  13. 台式计算机强制关机,台式机如何强制关机
  14. KernelBase.dll中有未经处理的异常,求助大神!!!
  15. phpwind和discuz比较
  16. Python Tkinter 之Listbox控件(Python GUI 系列12)
  17. 全球及中国大健康产业投资潜力与运营价值分析报告2022-2028年
  18. Xmind2021分享
  19. 成成你好呀笔记整理(知识点合集一)
  20. 尴尬的国产与国外操作系统对比:面对现实这么难吗?

热门文章

  1. AutoHotkey调用VBA实现批量精确筛选数据透视表某字段内容。
  2. 面向对象—的__new__()方法详解
  3. shell的交互式和非交互式登录
  4. 安装Ubunutu音频视频库
  5. SpringMVC 测试 mockMVC
  6. ceph中查看一个rbd的image的真实存储位置
  7. 表单元素对齐问题解决方案
  8. windows server 2003 出错提示请求的资源在使用中解决方案
  9. 数据库常见面试题总结
  10. vaOJ10369 - Arctic Network