函数
作者:互联网
1、什么是函数?
在程序中,函数就是具备某一功能的工具。
事先将工具准备好即函数的定义。
遇到应用场景拿来就用即函数的调用。
2、为什么要用函数?
不用函数的问题是:
1、程序代码冗长
2、程序的可扩展性差
3、程序的可读性差
3、如何用函数?
函数的定义语法:
没有事先定义函数,而直接引用函数名,就相当于在引用一个不存在的变量名。
函数定义阶段不执行函数体代码,但是会检测函数体的语法。
定义函数的三种形式:
无参函数:在函数定义阶段括号内没有参数。
有参函数:在函数定义时括号内有参数的称之为有参函数。
形参和实参:
形参:在函数定义阶段括号内定义的参数,称之为形式参数,简称形参。本质就是变量名,等待外部给它传值。
实参:在函数调用阶段括号内传入的值,称之为实际参数,简称实参。本质就是变量的值,函数调用时生效。
位置形参:在函数定义阶段,按照从左往右的顺序依次定义的形参,称之为位置形参。
特点:但凡是按照位置定义的形参,都必须被传值,多一个不行,少一个也不行。
位置实参:在函数调用阶段,按照从左往右的顺序依定义的实参,称之为位置实参。
特点:按照位置为对应的形参依次传值。
关键字实参:在调用函数时,按照key=value的形式为指定的参数传值,称之为关键字实参。
特点:可以打破位置的限制,但仍然能为指定的形参赋值。
注意:
- 可以混用位置实参和关键字实参,但位置实参必须放在关键字实参的前面。
- 可以混用,但不能对一个形参重复赋值。
默认形参:在函数定义阶段,就已经为形参赋值。一般情况下这个值在大部分情况下都是一样的,可以把这个值定义为默认形参。
特点:在定义阶段就已经被赋值,意味着在调用阶段可以不用为其赋值。
参数总结:
默认形参必须放到位置形参的后面。
默认形参的值只在定义阶段赋值一次,即默认参数的值在函数定义阶段就已经固定死了。
默认参数的值通常应该定义不可变类型(整型,浮点型,字符串,元组)。
实参的应用取决于习惯。
形参的使用,在大多数情况下的调用值都一样,就应该将这个值定义为默认形参。
空函数:函数体代码只写一个pass占位符。
# 空函数 def func2(): pass
函数的调用:
函数调用阶段,执行函数体代码。
函数调用的三种形式:
- 函数名(),有参传参数集即可。
- 表达式形式。
- 把函数的调用当做一个参数传给另一个函数。
# 调用函数:函数名(),会执行函数体代码,直到碰到return结束或者一直运行完毕所有的代码。 def max2(x,y): if x > y: return x else: return y # 函数名() max2(100,180) #表达式形式。 res1 = max2(100,180) * 8 #把函数的调用当做一个参数传给另一个函数。 # res2 = max2(100,180) # max2(res2,300) max2(max2(100,180),300)
4、函数的返回值
什么是返回值?
为什么要有返回值?
def max2(x,y): #x = 2000 y = 2700 if x > y: return x #return 2000 else: return y #return 2700 # 赋值给一个变量 res = max2(2000,2700) # 如果需要在程序中拿到函数的处理结果做进一步处理,则需要函数必须要有返回值。 annual_salary = res * 12 print(annual_salary)
如何用函数的返回值?
# return 任意类型的数据类型。 # 1、返回值是函数的处理结果,值可以是任意的数据类型。 # 2、return是函数终止的标志。函数内可以有多个return,但只要执行一次,整个函数都会结束执行。 # 3、return的返回值无个数限制,返回1个(返回的值即值本身),返回0个(返回的值是None,不写return默认返回None),返回多个要用逗号分隔开(返回的值是元组类型)。 def check_name(): while True: name = input("请输入要注册的账户名:").strip() if name.isalpha(): return name else: print("用户名必须由字母组成!请重新输入!") # u_name = check_name() # print(u_name) # 请输入要注册的账户名:zrg # zrg # 比较大小 # def max2(x,y): # if x > y: # print(x) # else: # print(y) def max2(x,y): #x = 2000 y = 2700 if x > y: return x #return 2000 else: return y #return 2700 # 赋值给一个变量 res = max2(2000,2700) # 如果需要在程序中拿到函数的处理结果做进一步处理,则需要函数必须要有返回值。 annual_salary = res * 12 print(annual_salary)
标签:return,函数,形参,max2,实参,定义 来源: https://www.cnblogs.com/zhangrenguo/p/16669040.html