python定义函数返回值_Python基础09-函数(基本使用+参数+返回值)

本文详细介绍了Python函数的概念,包括多行代码封装、参数传递(单个、多个、不定长及默认值),以及元组、字典参数处理和缺省参数的使用。还探讨了函数的调用方式、返回值、以及值传递与引用传递的区别。此外,还涵盖了函数的注释和参数拆包技巧,适合初学者和进阶者阅读。
摘要由CSDN通过智能技术生成

0408ab085b2e

Python基础-函数

1. 概念

多行代码的集合

基本定义:def 函数名():

调用方式:函数名()

2. 函数参数

2.1 单个参数

def 函数名(num)

2.2 多个参数

def 函数名(num1, num2)

传参方式:

def sum(num1, num2):

sum(4, 5)

sum(num2=5, num1=6)

2.3 不定长参数

2.3.1 元组类型的形参

def 函数名(*args):

def sum(*args):

print(args, type(args))

result = 0

for v in args:

print(v)

result += v

print(result)

sum((4, 5, 6, 7)) #传元组实参

通过在形参前添加*,传参时候就可以像多个参数的函数一样传值

def sum(*args):

print(args, type(args))

result = 0

for v in args:

print(v)

result += v

print(result)

sum(4, 5, 6, 7) #传多参数实参

2.3.2 字典类型的形参

def 函数名(**dict):

只能通过键值方式传参

def sum(**kwargs):

print(kwargs, type(kwargs))

sum(name="tmd", score=99)

2.3.3 参数拆包

装包:把传递的参数包装成一个集合

def sum(*args):

def 函数名(**dict):

# 上面函数传参时就是装包

sum(4, 5, 6, 7) # 装成一个元组包

sum(name="tmd", score=99) # 装成一个字典包

拆包:把集合参数分解成独立个体

def test(*args):

print(args) # 打印结果是一个元组类型

# 拆包

print(*args) # 打印结果是单个独立的数据

def test(**kwargs):

print(kwargs) # 打印结果是一个字典类型

# 拆包操作

# 应该使用 ** 进行拆包操作

print(**kwargs) # 字典拆包不能打印

上述拆包使用场景一般是:

元组拆包后用于传参进多个形成参的函数中:

def testA(a, b, c, d):

...

def testB(*args):

# 拆包后传参

testA(*args)

testB(3, 4, 5)

字典拆包后用于传参进多个形成参的函数中:

def testA(a, b,):

...

def testB(**kwargs):

# 拆包后传参

testA(*kwargs)

testB(a = 1, b = 2)

2.4 缺省参数

def 函数名(参数名1 = 默认值, 参数名2 = 默认值):

给定默认值即为缺省参数,使用时可不传值

2.5 参数传递形式

值传递:形参接收是一个副本,修改形参,不影响实参

引用传递:形参接收是一个变量地址,修改形参,实参也会被改变

python 中传递都是引用传递

1. 如果实参是可变,则修改形参,实参同时被改变

2. 如果实参不可变,则不可以修改形参

3 函数返回值

def 函数名():

函数体

return 数据

4 函数使用描述

在函数名的下一行使用三个双引号对进行注释描述

在 pycharm IDE 上,输入三个双引号按回车即会补上默认格式的函数描述文本

def caculate(a, b=1):

"""

计算两个数据的和, 以及差

:param a: 数值1, 数值类型, 不可选, 没有默认值

:param b: 数值2, 数值类型, 可选, 默认值: 1

:return: 返回的是计算的结果, 元组 : (和, 差)

"""

he = a + b

cha = a - b

return (he, cha)

res = caculate(6, 7) # 使用集合

# he, cha = caculate(6, 7) #解包使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值