zoukankan      html  css  js  c++  java
  • 有默认参数的函数,默认参数为何需后置

    学习python时思考的一个问题。

    http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431752945034eb82ac80a3e64b9bb4929b16eeed1eb9000

    默认参数可以省略用户输入。

    当存在多个默认参数时,如果默认参数在前:如foo(a=1,b=2,c=3,x)

    调用:foo(5)

    当只有一个实参传入,编译器不知道是改变默认参数值,还是给x。

    但也许调用者(程序猿)自然地认为是传给唯一没有默认参数的x,这样的话编译器需要判断foo共有几个默认参数,一一跳过这些参数,再传给x。

    如果默认参数后置,如foo(x,a=1,b=2,c=3)

    调用:foo(5)

    编译器自然会读到第一个没有默认参数的x,赋值给它。

    也就是说,原因是编译器是从左向右遍历的。

  • 相关阅读:
    排序
    最小栈
    移除链表元素
    回文链表
    maven自动建立目录骨架
    maven的结构和构建命令
    递归
    链表的中间结点
    括号匹配
    软件工程个人作业01
  • 原文地址:https://www.cnblogs.com/ketchups-notes/p/4813902.html
Copyright © 2011-2022 走看看