函数的定义和调用
函数的定义:def作为函数定义的关键字,为了告诉python这是一个函数。
无参函数:
def s(): print("你好呀,祝你天天开心!") s()
你好呀,祝你天天开心!
有参函数:函数调用时,将实参传递给形参
举例:
def person(name,age,add)://函数的定义 print("名字是%s,%s的年龄是%d,%s的家庭住址是%s"%(name,name,age,name,add)) person(input("请输入你的名字"),int(input("请输入你的年龄")),input("请输入你的家庭住址")) //函数的调用,形参实参的个数和类型必须保持一致
请输入你的名字易烊千玺 请输入你的年龄22 请输入你的家庭住址湖南怀化 名字是易烊千玺,易烊千玺的年龄是22,易烊千玺的家庭住址是湖南怀化
1:通过位置传递参数:仅通过位置关系将实参对应的形参联系起来,位置实参的顺序很重要
def person(name,age): print("%s的年龄是%s"%(name,age)) person(12,"Jason")//12对应name,age对应jason person("Jason",12)
12的年龄是Jason Jason的年龄是12
2:通过关键字传递参数:通过关键字将实参对应的形参联系起来,顺序不重要,因为python知道那个实参该赋给那个形参
举例:
def person(name,age): print("%s的年龄是%s"%(name,age)) person(age=12,name="Jason") person(name="Jason",age=12)
Jason的年龄是12 Jason的年龄是12
带有返回值的函数:将函数的值返回给调用函数
举例:
def add(number1,number2): return number1+number2 print(add(12,23)) a=add(19,2) print(a)
35 21
将函数返回值作为实参进行调用:
def add(number1): return number1+10 print(add(12)) a=add(19) print(add(a))
22 39
默认值:给形参设定默认值,对应的实参可以不传递值,如果实参也有值,则对应的默认值会被覆盖。
def add(number1,number2=9): return number1+number2 print(add(12)) a=add(19) print(a)
21 28
函数与循环结合:
与while循环结合:
def getSum(x): //函数体 sum = 0 i = 1 while i < x: sum += i i += 1 return sum//将sun返回给调用函数 print(getSum(10)) print(getSum(100))
45 4950
与for循环结合:
def getSum(x): i=1 add=1 for i in range(1,x): add*=i return add print(getSum(10))
362880
函数的分类:内置函数和自定义函数
内置函数:python中已经规定好用来实现某些特定功能的函数
举例:
print(bool(2))//bool()函数用来查看数据的布尔值,非0返回True,0或返回False print(abs(-10))//abs()函数用来取数据的绝对值 print(type(12))//type()函数用来查看变量的类型
True 10 <class 'int'>
自定义函数:通过编写函数体去实现自主想实现的功能。
举例:
def add(number1,number2,nmuber3): print(number1+number2+nmuber3)//打印三数之和 print(number1 * number2 * nmuber3)//打印三数之积 print(number1-number2-nmuber3)//打印数之差 add(10,2,7)
19 140 1
函数的嵌套调用:
自定义函数与三目运算符结合:
def add(x,y): return x+y if x>y else x-y //三目运算符:如果x>y,则返回值为x+y,否则为x-y print(add(1,3)) print(add(19,2))
-2 21
自定义函数的嵌套使用:
def add(a,b,c,d): max1=max(a,b) max2=max(max1,c) max3=max(max2,d) return max3 max_s=add(23,4,15,6) print(max_s)
23
函数的嵌套定义:注意函数的定义语句和调用语句缩进必须保持一致。
def f1(): print('你好!') def f2(): print('希望你每天开心') def f3(): print('好好学习,天天向上!') f3() f2() f1()
你好! 希望你每天开心 好好学习,天天向上!