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/ba,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+belif c == "-":return a-belif c == "*":return a*belif c == "/":if b == 0:return "除数不能为0"else:return a/belse: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 = 0c = 0for i in range(len(a)):if len(a[i]) > 5:b += 1else:c += 1return [b,c]l1 = list(map(str,input("请输入内容,以空格隔开:").split()))
l2 = shaixuan(l1)
print(f"在你输入的{len(l1)}个元素中,有{l2[0]}个属于较长数据,有{l2[1]}个属于较短数据")
这是一个根据输入的每个数据的长度进行筛选的函数,这里我们可以看见,return可不止能返回数值,也可以返回列表哦!
此外再提醒下,Python对于空格很是重视,所以该缩进的地方一定要缩进!
len则是一个长度方法,在这里,可以通过len可以返回列表长度,也可以返回数据长度
今天就先到这里啦,祝大家天天开心!代码一遍就通!没有debug的烦恼!