【Python基础】第十一篇 | Python函数(函数定义、函数调用、返回值、传参)用法详解

函数

概念:就是把剧透独立功能的代码块,组织为一个小模块,在需要的使用调用
函数,通俗理解,将多行代码写在一块,起个名字,在需要多行代码的时候,可以直接使用这个名字来代替
函数的好处:减少代码的冗余(重复的代码不用多写),提高程序的效率

  • 函数定义:

1.将多行代码放在一块,起名字的过程,称为函数定义
2.函数必须先定义后调用
语法:
def 函数名():
函数中的代码
#1.def 是关键字,用来定义函数的,define的缩写
#2.函数名需要遵守标识符的规则
#3.处于def 缩进中的代码,称为函数体
#4.函数定义的时候,函数体中的代码不会执行,在调用的时候才会执行

函数定义小技巧
在前期,书写不熟练的时候
1.可以先不管函数,先把功能写出来
2.给多行代码起名字
3.选中多行代码,使用tab键进行缩进
函数的调用
1.使用多行代码的时候,称为函数调用
语法
函数名()
#1.函数调用的时候会执行函数体中的代码
#2.函数调用的代码,要卸载函数体的外边

  • 文档注释

文档注释的本质还是注释,只不过书写的位置和作用比较特殊。
1.书写位置,在函数名的下方使用,三对引号进行的注释
2.作用:告诉别人这个函数如何使用的,看什么的
3.查看,在调用的时候,将光标放到函数名上,使用快捷键ctrl +q (windows),ctrl +j (mac)

def say_hello():
    """打印三个Hello"""
    print('hello 1')
    print('hello 2')
    print('hello 3')
  • 调用
say_hello()
  • 函数的嵌套调用

在一个函数定义中调用另一个函数
1.函数定义不会执行函数体中的代码
2.函数调用会执行函数体中的代码
3.函数体代码执行结束会回到函数被调用的地方继续向下执行

def func1():
    print(1)
    print("func1")
    print(2)

def func2():
    print(3)
    func1()
    print(4)

print(5)
func2()
print(6)

# 5 3 1 2 4 6 
  • 函数参数:

在函数定义的时候,使用变量代替具体的数据值(进行占位),在函数调用时,传递具体的数据值
好处:让函数更加通用,能够解决类似问题,而不是单纯的一个

#1.定义一个函数,my_sum,对两个数字进行求和计算
#num1和num2是函数定义时候的参数,起到占位的作用,没有具体的数据值,称为形式参数,简称形参
def my_sum(num1,num2):
    num = num1+num2 # 在函数中使用的数据会变化的时候,就可以定义为参数
    print(num) 

# 在函数调用的时候,括号中的数据会传递给形参,是具体的数据值,称为实际参数,简称实参
my_sum(10,20)
my_sum(1,2)
# 目前书写的函数,在定义的时候如果有形参,那么在调用的时候,必须传递实参值,个数要对应,否则会报错
  • 函数的返回值:

函数的返回值,可以理解为是 函数整体执行的结果是什么
函数中得到的数据在后续的代码中还要使用,这个时候就应该将这个数据作为返回值返回,以供后续使用
print() —> None
input() —> 键盘输入的内容
type() —> 类型
len() —> 数据的长度(元素的个数)
在函数中想要将一个数据作为返回值返回,需要使用return关键字(只能在函数中使用)
作用:
1.将数据值作为返回值返回
2.函数代码执行遇到return,会结束函数的执行

def my_sum1(a,b):
    num = a + b
    # print(num) # 代码中没有返回值,只有print,这个结果只能在函数中用一次,不能后续使用
    # 我们想要将这个求和的结果 在后续的代码中使用,需要使用return将求和的结果进行返回
    return num


# 1.函数中没有print,只有return,想要查看结果,需要在调用的时候使用print
print(my_sum1(4,5))
# 2.想要将函数中返回的结果,在后续代码中使用,即需要将这个数据保存下来,需要用使用变量来接收(保存)函数的返回值(执行结果)
# 变量 = 函数()
# 将求和的结果保存到变量result中,可以在后续代码中使用
result = my_sum1(6,7)
print("使用:1,直接打印:",result)
print("使用:2,对数字加10:",result + 10)

  • 返回值的说明

def 函数名():
# 代码中没有return
pass

def 函数名():
# return 后面没有数据,返回值None
return

def 函数名():
# 返回值xx
return xx

  • 函数传参

位置传参: 在函数调用的时候,按照形参的顺序,将实参传递给形参
关键字传参: 在函数调用的时候,指定数据值给到那个形参
混合使用:
1.关键字穿can必须卸载位置传参的后面
2.不要给一个形参传递多个数据值

def func(a,b,c):
    print(f'a:{a},b:{b},c:{c}')
# 位置传参:
func(1,2,3)
# 关键字传参
func(a=2,b=3,c=1)
#混合使用
func(1,3,c=5)
  • 缺省参数

又可称为默认参数
列表.pop() # 不写参数,删除最后一个
列表.sort(reverse=True)
1.定义方式
在函数定义的时候,给形参一个默认的数据值,这个形参就变为缺省参数,注意,缺省参数的书写要放在普通参数的后边
2.特点(好处)
缺省参数,在函数调用的时候,可以传递实参,也可以不传递实参值
如果传参,使用的就是传递的实参值,如果不传参,使用的就是默认值
‘’’

def show_info(name,sex='保密'):
    print(name,sex)
show_info('小王')
show_info('小王','男')

版权声明:本文为a272329874a原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。