python中函数的使用

python中函数的使用

函数:一个带有名字的代码块,用于执行某些特定的任务。例如:当某些代码需要多次被重复执行时,就可以将代码封装为一个函数。当需要使用函数中的代码时,直接调用即可。

1、函数的使用

函数的使用方法为:创建一个函数,然后调用函数即可,函数之间可以调用。注意:在python中必须先定义函数,然后才能调用函数。根据数据的需要函数的参数与返回值可有可无。当创建函数时,函数名不能相同,否则后面创建的函数会覆盖前面的函数。函数之间调用时不能相互调用,例如:a调用b然后b调用a,这会造成死循环程序停止不下来。
创建函数时根据参数与返回值的有无,创建函数的分为:没有参数与返回值、没有参数有返回值、有参数没有返回值、有参数有返回值。

1.1、没有参数与返回值的函数

没有参数与返回值的函数:不给函数传参数也不需要函数返回结果。
语法:

# 创建函数
def 函数名():
	需要执行的代码1
	需要执行的代码2
	......
# 调用函数
函数名()

在python中的应用:

# 1.1、没有参数与返回值的函数
# 创建函数,功能:使用for循环输出0 - 9
def print_num1():
    for i in range(0, 10):
        print(i, end=' ')

# 调用函数
print_num1()

运行之后的结果:

0 1 2 3 4 5 6 7 8 9 

1.2、没有参数有返回值的函数

没有参数有返回值的函数:不给函数传入参数,但是函数会返回一个结果。
语法:

# 创建函数
def 函数名():
	需要执行的代码1
	需要执行的代码2
	......
	return 返回值

# 函数的调用
变量名 = 函数名()

在python中的应用:

# 1.2、没有参数有返回值的函数
# 创建函数,功能:使用for循环向列表中添加0-9然后返回列表
def print_num2():
    # 创建存储数据的列表
    list1 = []
    # 使用for循环向列表中添加数据
    for i in range(0, 10):
        list1.append(i)     #添加数据

    # 返回列表
    return list1

# 调用函数
list1 = print_num2()
# 输出结果
print(f'list1 = {list1}')

运行之后的结果:

list1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

1.3、有参数没有返回值的函数

有参数没有返回值的函数:给传入了参数,没有返回结果的函数。注意:参数可以是多个。
语法:

# 创建函数
def 函数名(参数1, 参数2, ...):
	需要执行的代码1
	需要执行的代码2
	......

# 使用函数
函数名(参数1, 参数2, ...)

在python中的应用:

# 1.3、有参数没有返回值的函数
# 创建函数,功能:传入一个参数num,输出0-num之间的数字,每10换一次行
def print_num3(num):
    for i in range(num):
        if i % 10 == 0:
            print()
        print(i, end=' ')

# 调用函数
print_num3(20)

运行之后的结果:

0 1 2 3 4 5 6 7 8 9 
10 11 12 13 14 15 16 17 18 19 

1.4、有参数有返回值的函数

有参数有返回值的函数:给传入参数,有返回结果的函数。注意:参数可以是多个。
语法:

# 创建函数
def 函数名(参数1, 参数2, ...):
	需要执行的代码1
	需要执行的代码2
	......
	return 返回值

# 调用函数
变量名 = 函数名(参数1, 参数2, ...)

在python中的应用:

# 1.4、有参数有返回值的函数
# 创建函数,功能:传入一个参数num,输出一个存储0-num之间数字的列表
def print_num4(num):
    # 创建存储数字的列表
    list2 = []
    # 使用for循环向列表中添加数据
    for i in range(num):
        list2.append(i)     # 添加数据

    # 返回列表
    return list2

# 调用函数
list2 = print_num4(10)
# 输出结果
print(f'list2 = {list2}')

运行之后的结果:

list2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

1.5、函数说明文档

当我们创建一个项目时,里面会有许多的函数,有时我们想知道某个函数的功能,又不想回到创建函数的位置去查看,函数说明文档就派上用场了。
函数说明文档:函数内部的注释,用于对函数进行解释说明。注意:说明文档是使用三个双引号进行注释的,为于函数的开头位置。
语法:

# 创建函数说明文档,以有参数有返回值的函数进行举例
def 函数名(参数):
	"""
	函数说明文档的位置
	"""
	需要执行的代码
	return 返回值

# 说明文档的调用
help(函数名)

在python中的应用:

# 1.5、函数说明文档的使用,以有参数有返回值的函数举例
# 创建函数,功能:传入一个参数num,输出一个存储0-num之间数字的列表
def print_num4(num):
    """
    函数的说明文档的创建
    功能:传入一个参数num,输出一个存储0-num之间数字的列表
    :param num:用于指定循环的边界
    :return:
        list2:一个列表,存储0-num之间的整数
    """
    # 创建存储数字的列表
    list2 = []
    # 使用for循环向列表中添加数据
    for i in range(num):
        list2.append(i)     # 添加数据

    # 返回列表
    return list2

# 函数说明文档的调用
help(print_num4)

运行之后的结果:

Help on function print_num4 in module __main__:

print_num4(num)
    函数的说明文档的创建
    功能:传入一个参数num,输出一个存储0-num之间数字的列表
    :param num:用于指定循环的边界
    :return:
        list2:一个列表,存储0-num之间的整数

2、函数中变量的使用

在python中函数能够调用的变量分为全局变量和局部变量。
全局变量:在函数外面声明,在函数内部调用的变量。在函数内使用全局变量时需要使用global关键字进行声明然后才能使用。全局变量能够被多个函数进行调用。
局部变量:在函数内部声明,在函数内部使用的变量。局部变量只能在创建局部变量的函数内部使用,不能被其他函数调用。
语法:

# 全局变量的使用
# 创建全局变量
全局变量名 = 值
def 函数名():
	# 使用全局变量
	golbal 全局变量名
	使用全局变量的代码

# 局部变量的使用
def 函数名():
	# 创建局部变量
	局部变量名 = 值
	# 使用局部变量
	使用基本变量的代码

在python中的应用:

# 函数中变量的使用
# 全局变量的使用
# 创建全局变量
a = 10
def testA():
    # 使用全局变量
    global a    # 声明全局变量
    a = 20  # 给a赋值为20

def testB():
    # 使用全局变量
    global a  # 声明全局变量
    print(f'a = {a}')   # 输出a值

# 局部变量的使用
def testC():
    b = 100    # 创建局部变量
    print(f'b = {b}')  # 使用局部变量

# 调用函数
testA()
testB()
testC()

运行之后的结果:

a = 20
b = 100

3、函数中参数的使用

在python中传递给函数的参数分为位置参数、关键字参数、缺省参数、不定长参数。

3.1、位置参数

位置参数:调用函数时根据函数定义的参数位置来传递参数。注意:传递给函数的参数和在函数中定义的参数的顺序个数必须一致,否则会报错。
语法:

# 创建函数
def 函数名(参数1, 参数2, ...):
	需要执行的代码

# 位置参数的使用
函数名(位置参数1,位置参数2, ...)

在python中的应用:

# 位置参数的使用
# 创建函数
def user_info(name, sex, age):
    print(f'姓名:{name},性别:{sex},年龄:{age}')

# 调用函数
user_info('张珊', '女', 18)
user_info('张珊', 18, '女')    # 显示的信息发生错位
# user_info('张珊', '女')    # 报错

运行之后的结果:

姓名:张珊,性别:女,年龄:18
姓名:张珊,性别:18,年龄:女

3.2、关键字参数

关键字参数:函数调用,参数通过’键 = 值’形式加以指定,可以让函数更加清晰,容易使用,同时也清楚了顺序要求。注意:函数调用时,如果有位置参数时,位置参数必须在关键字参数之前,但关键字参数之间不存在先后顺序。
语法:

# 创建函数
def 函数名(参数1, 参数2, ...):
	需要执行的代码

# 当不存在位置参数时
函数名(关键字参数1 = 值1, 关键字参数2 = 值2,....)
# 当存在位置参数时
函数名(位置参数, 关键字参数1 = 值1, ...)

在python中的应用:

# 关键字参数的使用
# 创建函数
def user_info(name, sex, age):
    print(f'姓名:{name},性别:{sex},年龄:{age}')
    
# 不存在位置参数时
user_info(name='李四', sex='男', age=19)
user_info(name='李四', age=19, sex='男')
# 存在位置参数时
user_info('李四', sex='男', age=19)

运行之后的结果:

姓名:李四,性别:男,年龄:19
姓名:李四,性别:男,年龄:19
姓名:李四,性别:男,年龄:19

3.3、缺省参数

缺省参数:缺省参数:用于定义函数,为参数提供默认值,调用函数时可以不传该默认参数的值(注意:所有位置参数必须在默认参数之前,包括函数定义和调用)。注意:函数调用时如果缺省参数传递值时修改默认参数值,否则使用默认参数值。
语法:

# 创建函数
def 函数名(位置参数, 缺省参数1 = 值1, ...):
	需要执行的代码
# 当缺省参数传入值时
函数名(位置参数值, 缺省参数 = 值, ...)
函数名(位置参数值, 缺省参数值, ...)
# 当缺省参数不传入值时
函数名(位置参数值, ...)

在python中的应用:

# 缺省参数的使用
# 创建函数
def user_info(name, sex, age=18):
    print(f'姓名:{name},性别:{sex},年龄:{age}')
    
# 修改默认值时
user_info('王五', '男', age=20)    # 使用了关键字参数
user_info('王五', '男', 20)
# 不修改默认值时
user_info('王五', '男')

运行之后的结果:

姓名:王五,性别:男,年龄:20
姓名:王五,性别:男,年龄:20
姓名:王五,性别:男,年龄:18

3.4、不定长参数

不定长参数:不定长参数又叫可变参数,用于不确定调用时会传递多少个参数(不传参数)的场景,此时可以用包裹参数,来进行传递参数。变量可以分为args和kwargs两种。当使用args时,传进的所有参数都会被args变量收集,他会根据参数位置合并为一个元组,args是元组类型,这就是包裹位置传递。当使用kwargs时,传进的所有参数都会被kwargs变量收集,他会根据参数名称与参数值合并为一个字典,kwargs是字典类型,这就是包裹位置传递。
语法:

# args的使用
# 创建函数
def 函数名(*args):
	需要执行的代码

# 调用函数
函数名(参数值1,参数值2,....)

# kwargs的使用
# 创建函数
def 函数名(**kwargs):
	需要执行的代码

# 函数的调用
函数名(参数1 = 值1, 参数2 = 值2, ...)

在python中的应用:

# 不定长参数的使用
# 使用args关键字
# 创建函数
def info1(*args):
    print(args)

# 调用函数
info1('赵六', '男', 21)

# 使用kwargs关键字
# 创建函数
def info2(**kwargs):
    print(kwargs)

# 调用函数
info2(name='赵六', sex='男', age=21)

运行之后的结果:

('赵六', '男', 21)
{'name': '赵六', 'sex': '男', 'age': 21}
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值