了解python函数的参数,是阅读各种库和源码的必需技能,请认真学习并掌握。

1、位置参数:

def fn1(a):pass
def fn2(a,b):pass

msg: pass是占位符,当没有具体功能时,可以使用pass,不会使函数报错

上方函数fn1、fn2里的参数都是位置参数,调用时必须给入对应数量的实参,否则会报错

2、默认参数:

def fn3(a,b=1,c=2):pass
def fn4(a,b,c=1,d=2):pass

msg:python函数的几种参数可以任意组合,但必须按顺序写,否则会报错,顺序为(位置参数,默认参数,可变参数,命名关键字参数,关键字参数)

上方函数fn3的形参b和c 、 fn4的形参c和d就是默认参数,调用时若不给实参,将会使用默认值

默认参数传值方式:

fn3(1,c=4); //a=1,b=1,c=4 #函数fn3的参数a值为1,b没有传参使用默认值1,c通过传参,现在值为4
fn4(1,2,d=5,c=3); //a=1,b=2,c=3.d=5 #函数fn4的参数a值为1,b值为2,c通过传参,现在值为3,d通过传参,值为5;        请注意:c和d的位置虽然调换了,但并不影响传值,

扩展:百度搜索 python默认函数的坑,这里有一个面试时大几率碰到的面试题

3、可变参数:

# *c是可变参数
def fn5(a,b=1,*c): pass# *b也是可变参数
def fn6(a,*b):pass

msg:python函数的几种参数可以任意组合,但必须按顺序写,否则会报错,顺序为(位置参数,默认参数,可变参数,命名关键字参数,关键字参数)

可变参数传参:

#可变参数就是传入的参数数量是可变的,可以是多个,也可以是0个
#这里有一个扩展,请百度搜索python参数解构
fn5(1,b=2,*[3,4,5]) #把list解构并传入fn6(1,*(3,4,5)) #把tuple解构传入

更多详细扩展,强烈推荐廖雪峰: 函数的参数详解(详细,详细,详细)

python3函数的参数:必选参数(位置参数)、默认参数、可变参数、关键字参数、命名关键字参数相关推荐

  1. python 函数参数 (必选参数、默认参数、可选参数、关键字参数)

    默认参数增加 (x=None), if x: 能选择是否执行对x的操作 参考文章:python 函数参数(必选参数.默认参数.可选参数.关键字参数)

  2. python中可选参数是什么意思_【IT专家】python 函数参数(必选参数、默认参数、可选参数、关键字参数)...

    本文由我司收集整编,推荐下载,如有疑问,请与我司联系 python 函数参数 ( 必选参数.默认参数.可选参数.关键字参数 ) 2015/09/01 30797 参考: liaoxuefeng/wik ...

  3. python 函数教程:必选参数与默认参数

    必选参数 位置参数须以正确的顺序传入函数.调用时的数量必须和声明时的一样. def power(x, n):s = 1while n > 0:n = n - 1s = s * xreturn s ...

  4. python 函数参数(必选参数、默认参数、可选参数、关键字参数)

    参考: http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013747384493 ...

  5. python可变参数和关键字参数位置_python笔记——函数的参数(位置参数、默认参数、可变参数、关键字参数、命名关键字参数、参数组合)...

    定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解 ...

  6. Swift 参数可选和必选的区别

    关于Swift 参数可选和必选的区别 很多小伙伴会遇到这样的问题 意思就是,你必须给我确定的类型String 不能为空, 'nil' cannot be assigned to type 'Strin ...

  7. Python可变参数、关键字参数及命名关键字参数

    1. 可变参数 可变参数就是允许在调用参数的时候传入多个(≥0个)参数 # 可变参数,参数nums接收到的是一个tuple(这些参数在传入时被自动组组装为一个元祖) def calc(*nums):s ...

  8. python3函数参数(必选参数、默认参数、关键字参数、可变参数)

    python3函数参数 形参是参数在函数定义过程中的状态,这个过程中没有赋予实际的数值,实参是参数在函数调用过程中的状态,当参数被赋予实际的数值后,它会由形参转为实参. 必选参数在前,默认参数在后,默 ...

  9. python位置参数ppt_argparse模块的位置参数和可选(必选)参数

    argparse是python标准库中提供的用来解析命令行参数的模块,非常强大!在深入学习argparse模块之前,需要先搞清楚命令行位置参数和可选参数的概念. 位置参数 基于位置的参数,参数的出现不 ...

最新文章

  1. MonoRail学习笔记一:一个小例子
  2. 叮!你有一份2018英特尔人工智能大会的邀请函,请查收!
  3. 卡耐基梅隆大学专家谈核心技术市场化:「AI 周边相关机遇最大」
  4. SQL Server通配符妙用
  5. U-Boot 提供的基本命令
  6. oracle rac 中的ocr,11g rac中 ocr和 votingdisk疑问
  7. 如何设定vs2012用linux文件格式,Visual Studio 2012发布网站详细步骤
  8. int 范围_Java学习之随机生成5个(范围1——33)不同数字的思考
  9. 小写大写转换_小写到大写转换器JavaScript工具| 网络应用项目
  10. 线程---生产者消费者问题
  11. Eclipse配置默认的编码集为utf-8
  12. 计算机网络把许多什么连接在一起,计算机网络
  13. 余承东:华为Mate 30 RS保时捷设计 9月19日发布
  14. 自己编写的中文字符串的截取函数
  15. Luogu2617 Dynamic Rankings
  16. 用yum下载安装gcc
  17. 一段比较巧妙的sql
  18. 检测X光图像中Covid-19
  19. 整站优化与网页优化的区别
  20. (附源码)Python音乐分类系统 毕业设计 250858

热门文章

  1. 马平福为华侨创作中国书法艺术品受好评
  2. 软件体系结构设计模式
  3. amt是什么意思_变速箱中的at、mt和amt是什么意思啊?
  4. 黑客也看《人民的名义》:把手机卡扔马桶有 bug
  5. mysql在视图中增加新数据_怎么向Mysql视图中增加新数据
  6. 计算机考博方向数学,2016华中科技大学考博:计算机数学考试大纲
  7. QQ游戏中心能力值抽大奖 抽奖得Q币 iPad QQ公仔等实物
  8. 华为自研分布式时序数据库集群:初始GaussDB(for Influx)
  9. 支付宝五福java_2021年集支付宝五福攻略 一个账号一天最少扫到10张+ 扫一轮下来 基本要啥福有啥福!...
  10. 磁盘分析软件(C盘爆满精确清理必备)---SpaceSniffer