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

python学习笔记8-函数2

参数传递

  • 传不可变对象 & 传可变对象
  • def func(b):print(id(a), a) #140737041872600 234print(id(b), b) #140737041872600 234a = 234
    func(a)def func(b):print(id(a), a) #1413554098560 [343]print(id(b), b) #1413554098560 [343]a = [343]
    func(a)def func(b):b.append(444)print(b)#[343, 444]a = [343]
    func(a)
    print(a)#[343, 444]

必须参数

  • 必须接受一个实参
  • 实参通常可以传位置参数,也可以传关键字参数

关键字参数

  • 实参按照关键字传给对应的形参,与位置无关

  • 关键字参数必须放在位置参数后面

默认参数

  • 没有传实参时,使用默认值

不定长参数

  • *args:接受[0, 正无穷)个位置参数,将其打包为一个元组
  • **kwargs:接受[0, 正无穷)个关键字参数,将其打包为一个字典,必须放在所有形参的最后。
  • def func(a, b, *c, d=999, **k):print(a)print(b)print(c)print(d)print(k)func(1,2,3,4,5,6,6,6,)
    '''
    输出结果:
    1
    2
    (3, 4, 5, 6, 6, 6)
    999
    {}
    '''
    def func(a, b, *c, d=999, **k):print(a)print(b)print(c)print(d)print(k)func(1, 2, 3, 4, 5, 6, 6, 6, x=23, y=['🐱🐕'])
    '''
    输出结果:
    1
    2
    (3, 4, 5, 6, 6, 6)
    999
    {'x': 23, 'y': ['🐱🐕']}
    '''

    特殊参数

  • 默认情况下,实参的传递形式可以是位置参数或关键字参数

  • 可以用 / 和 * 来限制参数的传递形式

  • 其中 / 为仅限位置参数,限制在参数的传递形式

  • 其中* 为仅限关键字参数,限制在它之后的形参只能接受关键字参数

  • 这两个特殊参数只是为了限制参数的传递形式,不需要为它们传入实参

def func(pos1, pos2, /, pos_or_kwd, *, kwd1, kwd2):passfunc(1, 2, 3, kwd1=4, kwd2=5)

匿名函数

  • 格式:lambda[arg1,...]:expression
  • 匿名函数的参数可以有多个,但后面的expression只能有一个
  • 匿名函数返回值就是expression的结果,而不需要return语句
  • 匿名函数可以在需要函数对象的任何地方使用
http://www.lryc.cn/news/495232.html

相关文章:

  • 电商项目高级篇06-缓存
  • 使用 `aircrack-ng`扫描、获取握手包
  • 基于大数据python 酒店数据分析可视化大屏系统(源码+LW+部署讲解+数据库+ppt)
  • uniapp中父组件调用子组件方法
  • STL算法之set相关算法
  • vscode中json文件的注释飘红
  • 【微服务】SpringBoot 整合Redis Stack 构建本地向量数据库相似性查询
  • 三:安装服务-controller node
  • 自定义类型: 结构体、枚举 、联合
  • Bert+CRF的NER实战
  • 永久停用PostgreSQL 归档功能
  • 《数字图像处理基础》学习07-图像几何变换之最近邻插值法放大图像
  • pip安装库时报错(请求超时)
  • XPath表达式详解及其在Web开发中的应用
  • Qt中Socket网络编程
  • 【05】Selenium+Python 两种文件上传方式(AutoIt)
  • Python网络编程
  • openssl生成ca证书
  • Oracle RAC 环境下数据文件误建在本地目录的处理过程
  • 新质驱动·科东软件受邀出席2024智能网联+低空经济暨第二届湾区汽车T9+N闭门会议
  • windows11 使用体验记录
  • 202页MES项目需求方案深入解读,学习MES系统设计规划
  • 前端css实例
  • YOLO的框架及版本迭代
  • PotPlayer 最新版本支持使用 Whisper 自动识别语音生成字幕
  • JavaScript零基础入门速通(中)
  • 【Yarn Bug】 yarn 安装依赖出现的网络连接问题
  • 字节青训Marscode_5:寻找最大葫芦——最新题解
  • MySQL —— MySQL 程序
  • LLamafactory API部署与使用异步方式 API 调用优化大模型推理效率