python函数的目的与意义_Python函数的概念和使用
函数
为了便于程序的维护和更好的实现模块化,好的程序都会分解为很多函数。
可以这么说,对于任何的编程语言,函数都是一个非常重要的概念。
python 不仅简化了函数的定义过程,而且还大量借鉴了其他函数编程语言中的优秀特性。
本章内容非常重要!
一、 函数的概念和作用
1.1什么是函数
函数就是把完成特定功能的一段代码封装起来。给该功能起一个名字(函数名)。
哪里需要实现该功能就在哪里调用该函数。
函数可以在任何时间任何地方调用。
所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用。
1.2 函数的作用
函数是能完成某一功能的代码段
函数是可重复执行的代码段
函数方便管理和维护,便于复用
二、函数的使用
2.1 函数的使用步骤
定义函数:封装独立的功能
调用函数:就是执行函数。(调用几次就函数执行几次)
2.2 函数的定义
使用函数之前一定要先定义。
python 的函数定义非常简单。
函数定义语法:
def 函数名([形参列表]):
函数体
说明:
def是定义函数的关键字。(define function)
函数名是这个函数的符号(引用),调用这个函数的时候我们需要函数名。
函数名后的圆括号是必须的。
形参列表表示我们可以定义多个形参,接受函数调用时传递过来的参数。形参不是必须的,根据需要决定是否需要定义形参
圆括号后面必须有一个冒号:.
新起一行,必须有缩进来定义函数体。函数体就是函数每次调用的时候都会执行的代码。
示例代码:
# 定义无参函数
def show():
print("我是函数内的代码1")
print("我是函数内的代码2")
# 定义有参函数,形参在函数内部可以作为普通变量使用。
def show1(a, b):
print(a + b)
定义函数名称的规则:
可以由字母,下划线,和数字组成
数字不能开头
不能与关键字重名
多个单词小写使用下划线拼接: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 + b
return n
print(add(3, 5))
print(add(30, 5))
说明:
在函数内任何地方都可以出现return。return的作用就是结束函数,并把return后面的值返回给调用者。
一旦碰到return,不管后面有多少代码,不管是否处于循环中,函数都会立即结束。
如果整个函数内部没有出现return,则函数会自动执行到函数体最后一行代码。
如果函数体内没有return,则函数运行结束的时候自动返回None
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 = 0
for 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一次只能返回一个值。
有些场景下,我们需要返回多个值。这种情况下我们我们可以把返回值的封装到list或tuple中,接受者拿到这个list或tuple直接解包就可以使用了。
最好封装在tuple中,因为tuple是不可变的, 所以效率比较高。
def foo(x):
return x ** 2, x ** 3, x ** 4
x = 4
a, b, c = foo(x)
print("%d 的平方是:%d, 3次方式:%d, 4次方是:%d" % (x, a, b, c))
2.5 文档注释
以前我们使用#来我们的代码添加注释,只使用单行注释。
我们定义了一个好函数,函数的描述等信息也应该让调用者很容易获取到,这个时候就用到文档注释。
文档注释将来可以直接生成api文档方便阅读。
如果要给函数添加文档注释,直接在函数内部的首行放置一个字符串即可。字符串可以是单行的(" "或者' '),也可以是是多行的(""" """ 或 ''' ''')。
但是一般使用多行字符串来定义
作为国际惯例:
注释的第一行,一般是对函数的简述。
然后一个空行。
然后开始进行详细描述函数功能等。
def foo(x):
"""该函数是对参数做一些计算
计算参数的多个次幂
:param x: 要计算次幂的数字
:return: 返回2次幂、3次幂、4次幂组成的元组
"""
return x ** 2, x ** 3, x ** 4
print(foo.__doc__) # 打印函数的文档注释
python函数的目的与意义_Python函数的概念和使用相关推荐
- python函数的目的与意义_Python函数__new__及__init__作用及区别解析
[同] 二者均是Python面向对象语言中的函数,__new__比较少用,__init__则用的比较多. [异] __new__是在实例创建之前被调用的,因为它的任务就是创建实例然后返回该实例对象,是 ...
- python采用函数式编程模式吗_Python函数与函数式编程
1 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己创 ...
- python函数定义的语法形式_Python函数(函数定义、函数调用)使用详解
函数是 Python 程序的重要组成单位,一个 Python 程序可以由很多个函数组成.前面我们己经用过大量函数,如 len().max() 等,使用函数是真正开始编程的第一步. 比如在程序中定义了一 ...
- python 函数的定义与调用_Python函数定义和函数调用
我们已经使用了一些python内建函数,比如print().input().str()等等. 也使用了一些python自带模块的一些库函数,比如math模块的abs()函数. 函数定义: 语法:def ...
- python函数对变量的作用_python函数对变量的作用及遵循的原则
1.全局变量和局部变量 全局变量:指在函数之外定义的变量,一般没有缩进,在程序执行的全过程有效 局部变量:指在函数内部使用的变量,仅在函数内部有效,当函数退出时变量将不存在 例如: 1 n=1 #n是 ...
- python二重积分0到正无穷_python函数的数值二重积分
我有点困在一个函数上,我试图通过scipy,python进行数值积分.在 为了简单起见,我将函数定义为:integral f(x,y)= SUM[double integral(ax+by)dxdy] ...
- python函数参数的作用是_python函数参数的不同
在运用php.cn/wiki/1514.html" target="_blank">python的过程中,发现当函数参数为list的时候,在函数内部调用list.a ...
- 定义一个没有参数的函数、输出python3次_Python函数参数详解,三天让你掌握python,不再是小白
原标题:Python函数参数详解,三天让你掌握python,不再是小白 引言 随着程序功能的增多,代码量随之增大,此时仍不加区分地把所有功能的实现代码放到一起,将会使得程序的组织结构不清晰,可读性变差 ...
- python函数题库及答案_python—函数基础练习题
1,写函数,计算传入数字参数的和.(动态传参) #写函数,计算传入数字参数的和.(动态传参) x = int(input("输入要计算的值x: ")) #定义动态输入的x值 y = ...
最新文章
- 更换pip安装源头成阿里云或清华的
- Peter R. Rizun:“比特币现金社区的目标是全球80亿人使用BCH”
- boost::mp11::mp_replace相关用法的测试程序
- 【渝粤教育】广东开放大学 文化产业项目案例分析 形成性考核 (51)
- ie浏览器网页版进入_IE浏览器打开网页提示无法打开Internet站点的解决办法
- 每天学一点Scala之Try
- linux下dns服务器部署,linux系统下部署DNS服务器
- IIS——屏蔽返回的Header中的 IIS版本信息
- 【滤波器】7. 带通滤波器
- 记录一下unity 加载外部视频
- 万字长文带你快速了解并上手Testcontainers
- 超级详细的vue2学习笔记
- python进行整数计算_零基础学python_05_数字(整数+浮点数)
- 分析bootstrap class path not set in conjunction with -source 1.6
- JS内置对象和数组方法
- Queuing HDU2604
- (七)集成学习中-投票法Voting
- Unix/Linux文件系统的目录结构
- Tabby使用之:中文乱码问题
- 马蜂窝定制游抢单系统设计与功能核心
热门文章
- 用户解锁不存在_解锁手机有6种方法,这些常识你知道吗?小白购机指南——解锁篇...
- springboot Field userInfoInter in com.**.** required a bean of type ‘***.**‘
- pythonmessage用法_django 消息框架 message使用详解
- android 多点触控缩放,Android多点触控(图片的缩放Demo)
- bootstrap下拉选择框选中事件_CAD制图初学入门之CAD软件中布局功能详解
- 带你深入理解值传递(点进来才知道它是一篇使你收益的文章)
- JAVA——json序列化错误[hibernateLazyInitializer,handler,fieldHandler]解决方案
- JAVA——改变观感
- 制导炸弹毕业设计怎么用matlab仿真,基于MATLAB的自动控制系统仿真-本科毕业设计.doc...
- Hadoop vs Spark