【无标题】

Python函数

定义: 函数是模块化程序设计的解决方案,当一段代码需要反复执行的时间,重复编写不是一个很好的办法,会使得程序冗余,并且增加程序员的劳动量,因此可以将需要反复执行的代码块放在函数中封装 并执行。

函数应用举例说明

已知圆的面积计算公式为 S = π * r ² , 当我们知道 半径 的时间便可以唯一确定一个圆的面积

r = 1
S = π * r ** 2
print(S)

当同时计算多个圆的面积的时间呢?

r1 = 1
S1 = π * r1 ** 2
r2 = 2
S2 = π * r2 ** 2
r3 = 3
S3 = π * r3 ** 2
print(S1)
print(S2)
print(S3)

结论: 这显然并不是一个很好的选择,除了需要每一次计算的时间重新写入求值的代码之外,当参数变化的时间也需要重新修改,所以该程序的设计可以向着更加简洁和方便的方向而发展。由此可以引入函数,将其简化

简化后的代码

def get_area(r):
    S = 3.14 * r ** 2
    return S

引入函数之后可以将求值的代码全部写在一个代码块中,然后接收一个可变的参数(变量)直接调用并返回一个结果。

注意: 基本上所有的高级语言都支持函数,Python也不例外。Python不但能非常灵活地定义函数,而且本身内置了很多有用的函数,可以直接调用。

函数的基本结构

通过上述例子可知函数需要接收一个参数并执行特定的代码。所以函数的基本要素有:

  • 形式参数
  • 实际参数
  • 返回结果
  • 函数名称

Python的函数定义为以下形式。

def 函数名称(参数):
    代码块

函数的调用

Python内置了很多解决问题最常用的函数,可以直接调用。要调用一个函数,需要知道函数的名称和参数。以取最大值的函数max()为例。

max(1,2,4,6,-1,0.2)

注意: 调用的时间重点关注参数的数量和数据类型。如果传入的参数数量不对,或者是参数数量是对的,但参数类型不能被函数所接受,都会报TypeError错误

abs(1,2) # 传入的参数数量错误
abs('a') # 传入的参数数据类型错误,问题解决,可以将数据类型通过数据类型转换的方法首先转换下数据类型。

提示: 可以访问Python官网查看文档,找到内置的方法详细的使用方式。官网地址如下。
https://docs.python.org/3/library/functions.html#abs

函数的定义(设计)

Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。参考函数的基本结构。

定义几种特殊的函数

  • 定义没有返回值的函数
  • 定义没有函数体的函数
  • 定义有多个返回值的函数
定义没有返回值的函数

函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。return None可以简写为return。

def function():
    return
定义一个空函数

如果想定义一个什么事也不做的空函数,可以用pass语句:

def function(参数):
    pass

既然pass语句什么都不做,那为什么还要用?其实pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。

获取多个返回值的函数

直接在return后面添加多个值并且使用逗号,隔开就行了。

# 根据长方体的长和宽直接求周长和面积
def get_status(length,width):
    zhouchang = (length + width) * 2
    area = length * width
    return zhouchang,area

注意: 虽然形式上是多个值,事实上return仍然只返回一个对象,返回的其实是一个tuple。

总结:由此得到结论,借助抽象,我们才能不关心底层的具体计算过程,而直接在更高的层次上思考问题。写计算机程序也是一样,函数 就是最基本的一种代码抽象的方式。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值