当前位置: 首页 > news >正文

13-python函数返回值和装包的后续提取数据方法——解包

1.1 参数解包

不定长参数简单来讲就是装包,把多个参数装到一个元组或者装到字典中,就叫做装包

Ctrl+d可以快速向下复制

传递实参时,也可以在序列类型的参数前添加星号,这样他会自动将序列中的元素依次作为参数传递

注意:序列中元素的个数必须和我们函数中的形参个数一致

def fn(a,b,c):print("a=",a)print("b=",b)print("c=",c)t = (1,2,3)
fn(*t)
fn(*[1,2,3])  # 列表也是可以的
d = {"a":10,"b":20,"c":30}  # 字典的key的名字要和形参的名字对上
fn(**d)

*args**kwargs是可以同时使用的

注意:同时使用这两个的时候,*args必须要写在**kwargs前面,这是规定

def fn(a,b,*args,**kwargs):print(a)print(b)print(args)print(kwargs)fn(1,2,4,3,4,5,1,5,k=1,w=2,aa=3,rr=4)1
2
(4, 3, 4, 5, 1, 5)
{'k': 1, 'w': 2, 'aa': 3, 'rr': 4}
总结:
1.*args适用于接收多余的未命名的位置参数
**kwagrs用于接收关键字参数,其中args是一个元组类型,而kwargs是一个字典类型的数据
2.*args是把元组中的数据进行拆包,也就是把元组中的数据拆成单个的数据
**kwargs是把字典中的数据进行拆包,也就是把字典中的数据拆成单个的键值对

1.2 函数的返回值

我们需要函数将处理的结果反馈回来

返回值:函数执行以后返回的结果

f(x) = 2x+1
x = 1 ——》3 f(1)=3
x = 2 ——》5 f(2)=5
x = 3 ——》7 f(3)=7

获取返回值的方法是:把函数调用当做一个值来输出

def fn():return 1
x = fn()
print(x)
# 或者
print(fn())

return后面是什么,函数返回结果就是什么

无论定义的是返回什么类型,return只能返回单值,但是值可以有多个元素

# 看似返回很多个值,其实会被python隐式的分装成一个元组返回出来
def fn():return 1,2,3
x = fn()
print(x)
# 或者
print(fn())

函数的嵌套

def fn():def fn2():print("hello")print("f")
fn()
# 返回值也可以是返回函数
def fn():def fn2():print("hello")return fn2
r = fn()
r()

返回值可以是任意类型也包括函数

def fn2():pass
print(fn2())  # None代表空值注意:None千万不可以理解为0,如果我们不给一个函数return,那么这个函数的返回值就是空的
None也是有属于自己的数据类型
print(type(None))  #<class 'NoneType'>  

对于没有定义return语句的函数,python都会在末尾默认加上return None,表示这个函数默认返回空值,也就是说只要你的函数不带return就是得返回None

# return后面不跟值那么结果也是None
def fn():return
print(fn())  #None
总结:
如果仅仅写一个return或者不写return,就等价于return None
None是python一个特别的空值,用来代表空的
def fn():print("抄一遍")print("抄二遍")print("抄三遍")returnprint("抄四遍")fn()抄一遍
抄二遍
抄三遍在函数中return代表函数执行结束,后面的代码就不会再执行,这就是return
def fn():for i in range(1,101):if i ==66:print("老师心痛了,提前结束")breakprint(f"抄{i}遍")
fn()break:退出当前循环
continue:跳过本次循环
return:用来结束函数
# 函数时用来完成某种功能的,有些功能是需要返回结果
def sum1(*args):result = 0for i in args:result+=ireturn result
r = sum1(1,2,3,4)
print(r+10)a = len("123")
print(a)
fn和fn()的区别:
print(fn)  # 其实就是在打印函数对象,也就是内存地址
print(fn()) # 其实就是在打印fn()的返回值
总结:
return语句的作用:
结束函数调用、返回值
函数体中return语句有指定返回值时返回的就是其值
函数体中没有return语句时,函数运行结束会隐含返回一个None作为返回值,类型时NoneType,与returnreturn None等效,都是返回Noneprintreturn的区别:
print仅仅是打印在控制台,而return则是将return后面的部分作为返回值,作为函数的输出,可以赋值给一个变量,继续使用该返回值做其他事return语句在同一函数中可以出现多次,但是只要有一个得到执行,就会直接结束函数的执行None(空值)和False不同,他不表示.,也不表示空字符串,而是表示没有值,也就是空值
None的数据类型是NoneType
None是NoneType数据类型的唯一值
http://www.lryc.cn/news/420870.html

相关文章:

  • I. 对线
  • Topsis法模型(评价类问题)
  • HPA 与pod调度
  • jupyter下载
  • 蓝桥杯双周赛 第 16 场 小白入门赛 解题报告 | 珂学家 | 七夕娱乐场
  • [C++] 深入理解面向对象编程特性 : 继承
  • 汇昌联信科技做拼多多电商怎么引流?
  • 公网ip和私网ip的区别
  • 【开发踩坑】windows查看jvm gc信息
  • 时间序列预测 | CEEMDAN+CNN+Transformer多变量时间序列预测(Python)
  • vue3--实现vue2插件JSONPathPicker的路径获取功能
  • SuccBI+低代码文档中心 — 可视化分析(仪表板)(上)
  • P3156 【深基15.例1】询问学号
  • 详解Xilinx FPGA高速串行收发器GTX/GTP(5)--详解8B10B编解码
  • python 画多盘的写放大曲线方法
  • 计算机网络TCP/UDP知识点
  • JavaScript 文档元素获取
  • docker pull实现断点续传
  • 无字母数字webshell之命令执行
  • 华为OD笔试
  • HAProxy理论+实验
  • Spring Boot ⽇志
  • 最详细!教你学习haproxy七层代理
  • ElementUI 事件回调函数传参技巧与自定义参数应用
  • 优化Next的webpack配置
  • Q-Dir vs 传统文件管理器:为何开发者更偏爱这款神器?
  • 日常疑问小记录
  • Java Web —— 第四天(HTTP协议,Tomcat)
  • C++ list的基本使用
  • 云中韧性:Spring Cloud服务调用重试机制深度解析