其他分享
首页 > 其他分享> > 函数

函数

作者:互联网

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