AIGC 基础篇 Python基础 06 函数基础

今天,我们来讲解Python里面的函数基础:

1.函数格式基础

def jiafa(a,b):
    return a+b

我们一般使用def来定义一个函数,return的意思为返回,即返回值,所以在实际调用的时候,要用变量接住,或者直接输出,不然返回的值就找不到咯

函数取名不要有特殊符号,一般由英文字母和下划线构成,英文字母可以大写,函数取名的第一位不要放数字

a,b两个是形参,即形式参数,相对应的还有一个实际参数的概念,后面会一起讲,先不急哦

这里要注意的还有两点,一个是不要忘记冒号!忘记冒号的话格式又错了就,此外就是下一行开始也要缩进

那么接下来,我将展示一个函数的创建与调用:

def jiafa(a,b):
    return a+b
c,d = int(input("请输入第一个数字:")),int(input("请输入第二个数字:"))
print("c+d=",jiafa(c,d))

这里有几个要讲的地方

point 1.关于传入多个参数的第二种方式

在此之前,我们曾使用map的方式进行多参数传参,当然,实际上我们也可以通过上述的方式传入参数,而且相比如map的方式

point 2.关于形参与实参

形式参数,即形式上的参数,并不是实际传入的参数,形式参数可以是任何字母,,只要后面在函数内部调用的参数也是形式参数即可

实际参数,即实际上的参数,在上面,就是c和d,然后调用函数时,不要再写形参,都说了是形式上的,那么在实际调用时肯定不能用嘛,应该传入实际参数,也就是c和d

2.函数应用

还是以数学运算为例:

def jiafa(a,b):
    return a+b
def jianfa(a,b):
    return a-b
def chengfa(a,b):
    return a*b
def chufa(a,b):
    return a/b

a,b = int(input("请输入第一个数字:")),int(input("请输入第二个数字:"))
print("a+b=",jiafa(a,b))
print("a-b=",jianfa(a,b))
print("a*b=",chengfa(a,b))
print("a/b=",chufa(a,b))

如果你的眼睛尖的话,想必已经发现这实际上就是上面示例的扩充版了叭,棒棒哒!

这确实是一个扩充版的运算,在前一个示例的基础上,加入了减法,乘法和除法运算

当然,这个还可以进行一下优化:

def suanshu(a,b,c):
    if c == "+":
        return a+b
    elif c == "-":
        return a-b
    elif c == "*":
        return a*b
    elif c == "/":
        if b == 0:
            return "除数不能为0"
        else:
            return a/b
    else:
        return "输入错误,请重新输入"

l1 = list(map(str,input("请输入算式,以空格隔开数字和符号: ").split()))
if len(l1) != 3:
    print("输入错误,请重新输入")
else:
    d = suanshu(int(l1[0]),int(l1[2]),l1[1])
    print(d)

这里只有一个suanshu函数,但是涵盖了刚刚的四个函数的功能,而且还进行了优化,比如除法中除数不能为0

这里的输入似乎与之前都不一样,实际上这里是在之前的map方法创建的基础上,再套了一个list,也就是列表,将输入的内容都传入列表,并且保证数字与符号隔开,这样就可以确保传入的数字有三个数

当然,如果传入的数据不是三个,那么也会报错,这样就确保不会出现问题,对于没有问题的三个数据,我们再进行调用函数

函数的逻辑想必大家都能看得懂,不过至于为什么最后还要设置一个额外的情况,是因为可能用户传入的第三个参数不是加减乘除的任何一个,这最后一个情况就是为这个准备的

最后再来一个例子,作为今天的结尾叭~

def shaixuan(a):
    b = 0
    c = 0
    for i in range(len(a)):
        if len(a[i]) > 5:
            b += 1
        else:
            c += 1
    return [b,c]

l1 = list(map(str,input("请输入内容,以空格隔开:").split()))
l2 = shaixuan(l1)
print(f"在你输入的{len(l1)}个元素中,有{l2[0]}个属于较长数据,有{l2[1]}个属于较短数据")

这是一个根据输入的每个数据的长度进行筛选的函数,这里我们可以看见,return可不止能返回数值,也可以返回列表哦!

此外再提醒下,Python对于空格很是重视,所以该缩进的地方一定要缩进!

len则是一个长度方法,在这里,可以通过len可以返回列表长度,也可以返回数据长度

今天就先到这里啦,祝大家天天开心!代码一遍就通!没有debug的烦恼!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱意随风起风止意难平

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值