Python中函数的进阶用法

多返回值

本质:Python 中所有函数只能返回一个对象 ,所谓 "多返回值",其实是函数将多个值打包成一个元组返回,调用时再将元组 "解包" 成多个变量。

所有返回值解包到多个变量:按照返回值顺序,写对应顺序的多个变量即可,变量之间用逗号隔开

只接受部分返回值:如果只需要其中几个返回值,_(Python 约定的 "占位符变量")忽略不需要的值

以其他数据容器形式返回值:除了元组,也可以返回列表、字典等实现 "多返回值" 效果(在return语句中显式打包)

多种参数使用形式

位置参数:调用函数时根据函数定义的参数位置来传递参数
关键字参数:调用函数时通过**"键=值"的形式**传递参数
不定长参数

用于不确定调用的时候会传递多少个参数。有两种类型:

(1)位置传递

函数只有一个形参*args ,会把传入的多个位置参数打包成一个元组(tuple)args 是约定俗成的名称,你也可以用其他名字

(2)关键字传递

函数只有一个形参**kwargs 会把传入的多个关键字参数(key=value 形式)打包成一个字典(dict)kwargs 也是约定俗成的名称。调用函数时,必须用 key=value 的形式传参。

实际开发中,常把固定参数和不定长参数结合使用,注意固定参数要放在前面

函数作为参数传递

可以直接将函数作为参数传入并在函数体内调用

lambda匿名函数:

lambda关键字可以定义匿名函数(无名称),只可以临时使用一次,可以用作函数参数传入

匿名函数定义语法

lambda 传入参数:函数体(只能写一行代码

相关推荐
颜颜yan_9 小时前
ESP-IDF 鸿蒙 PC 适配全记录:打通 Python、构建工具链与 ESP32-P4 固件生成
python·华为·harmonyos
言乐69 小时前
Python加速器4跨境网络加速器
运维·服务器·开发语言·网络·python
weixin_440730509 小时前
线程02-并发串行-互斥锁-Semaphore-Event
python·thread
金金计较.9 小时前
Go语言-3
java·开发语言·golang
张小凡vip10 小时前
python--爬虫--经验积累的遇到的坑
开发语言·爬虫·python
毕业设计70311 小时前
(免费领源码) 基于微信小程序的预制菜商城的设计与实现25172-java、PHP、python、C#、小程序、大数据、单片机、网络工程等)
vue.js·python·mysql·微信小程序·pycharm·微信开发者工具·推荐算法
xifangge202511 小时前
AGENTS.md 怎么写?涵盖 Java、Python、Vue、Go 的 8 套开箱即用模板
java·vue.js·python
Wang's Blog11 小时前
Java框架快速入门: Spring Security+OAuth2之云服务集成与多因子认证设计
java·开发语言·spring
门思科技11 小时前
LoRaWAN 网络容量估算:一个 SX1302 网关到底能带多少设备
开发语言·网络·php
大草原的小灰灰11 小时前
Python基础语法
开发语言·python