如何理解python函数

什么是函数

我们先从数学的角度看看函数的定义:给定一个非空的数集 A,对 A 施加对应法则 f,记作 f(A),得到另一数集 B,也就是B=f(A),那么这个 关系式 就叫函数关系式,简称 函数

死去的记忆突然攻击我,知识都还给老师了,这谁看得懂?

没关系,我们举个很简单的例子:y = (x/2+3)*5,y 等于 x 除以 2 再加 3 最后乘以 5,这总不能都看不懂吧?

输入 x,然后通过一系列运算,就可以得到一个唯一的 y。比如 x=4,运算后 y 就等于25;x=10,运算后 y 就等于40。

python的函数也是一样的:输入 x(即 参数),然后通过一系列运算(即 代码),就可以得到一个唯一的 y(即 返回值)

上面的只是一元一次方程,还有一元二次,二元一次、三元一次方程等等,即 x(参数)不止一个,可以输入多个,但是结果 y 总是唯一的(即 函数只有一个返回值,不可能有多个)

大概知道了函数的概念,我们接下来从五个方面来细说:
1.函数的语法;2.函数的参数;3. 函数体;4.函数的返回值;5.函数的调用

1. 函数的语法

函数的书写语法是固定的:

  • 第一行开头写 def,空一格写 函数名,函数名后面直接写 括号,括号里写 参数名,每个参数名用 逗号隔开
  • 第二行 先缩进,然后写 函数体(即代码),代码必须缩进才认为在函数内,不然就认为在函数外。
  • 函数的最后一行写 return 返回值,代表返回函数运行的结果,也必须缩进在函数里。
def 函数名(参数1, 参数2, ...):
    函数体(即代码)
    return 返回值

这是一个最简单基本的函数语法。

2. 函数的参数

函数的参数写在函数名的括号里面,可以有多个,每个参数名用逗号隔开。

def 函数名(参数1, 参数2, ...):

参数就是数学函数里的 x ,我们通过带入 x(参数) 来计算出 y(返回值)。

3. 函数体

函数体就是函数里运行的代码,通过接收参数经过一系列代码运算得出返回值。要注意代码必须一直缩进在函数里。

def 函数名(参数1, 参数2, ...):
    代码
    代码
	代码
	代码
	代码
    return 返回值

函数体就是数学函数里的公式主体(x/2+3)*5

4. 函数的返回值

当代码运行到这一行时,不论这个函数里面还有多少代码没有运行都会直接结束这个函数。语法如下:

    return 返回值

函数的返回值就是数学函数里的 y ,就是这个函数的最终结果。

不是所有函数都必须有返回值,需要返回值才写,不需要返回值可以不写。

5. 函数的调用

函数写完之后不会运行,需要调用才会运行,调用时把参数带上,记得位置要对应好。语法如下:

变量名 = 函数名(参数1, 参数2, ...)

因为函数有返回值(即 y),所以我们需要用一个变量来接收返回值,不然就拿不到这个返回值。

如果函数没有返回值,就不需要用变量接收,直接写即可,如下:

函数名(参数1, 参数2, ...)

就算某个函数没有参数,也必须把括号写上,写了括号才代表是调用,如下:

函数名()

你也可以把函数看作是一个封闭的加工机器,有一个进料口和一个出料口,我们把原料(参数)倒入进料口,然后机器在肚子里做出成品(返回值),然后成品从出料口出来(return 返回值),最后我们用容器(变量名)接收成品。

举例

  1. 创建一个函数叫 add,接受两个参数,并返回它们的和。
# 首先创建函数名和两个参数
def add(a, b):
	# 然后主体写两个参数相加
    sum = a + b
    # 最后把相加的结果返回
    return sum

# 如何调用
# 先定义两个变量
a = 1
b = 2
# 然后把这两个变量写进函数调用中,再用 res 来接收函数的返回值
res = add(a, b)
print(res)  # 输出:3
  1. 创建一个函数叫 p_add,接受三个参数,直接打印 “x+x+x=y ” 的格式,不用返回它们的和。
# 首先创建函数名和三个参数
def p_add(a, b, c):
	# 然后主体写三个参数相加
    sum = a + b + c
    # 最后输出打印即可
    print(f"{a} + {b} + {c} = {sum}")

# 先定义三个变量
a = 1
b = 2
c = 3
# 然后把这三个变量写进函数调用中即可,因为没有返回值所以不需要用变量接收
p_add(a, b, c)
  1. 创建一个函数叫 p_tips,不接受参数也没有返回值,每隔5秒打印 “小心用火”,持续5次 。
# 导入time库
import time
# 创建函数名,不接受参数也要写括号
def p_tips():
	# 写一个循环,总共循环5次
    for i in range(5):
    	# 在循环里打印内容
        print("小心用火")
        # 代码到这里强制暂停5秒钟
        time.sleep(5)

# 调用函数,记得把括号写上
p_tips()
  1. 创建一个函数叫 bank_login,接收两个参数 账号和密码,核对后显示 成功并且返回账户的余额 或者 失败返回余额为0。
# 创建函数名,接收两个参数,账号和密码
def bank_login(account, password):
    # 余额
    balance = 10000.86
    # 账号密码判断是否正确
    if account == "admin" and password == "123456":
        # 显示登录成功
        print("登录成功")
        # 返回余额
        return balance
    else:
        # 显示登录失败
        print("账号或密码错误")
        # 返回0
        return 0

# 分别输入账号和密码
account = input("请输入账号:")
password = input("请输入密码:")
# 调用函数,传入账号密码两个参数,用 balance 来接收返回值
balance = bank_login(account, password)
# 打印余额
print("当前余额为:", balance)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值